尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

移动安全测试实战:真机Burp抓包配置与HTTPS解密全攻略

移动安全测试实战:真机Burp抓包配置与HTTPS解密全攻略
📅 发布时间:2026/7/2 13:42:24

1. 项目概述:为什么要在真机上用Burp抓包?

在移动应用安全测试和逆向分析领域,抓包是第一步,也是最关键的一步。很多刚入门的朋友可能习惯在模拟器里操作,觉得方便。但干了这么多年,我越来越倾向于直接在真机上进行抓包测试。原因很简单:真实环境才能暴露真实问题。模拟器里的网络环境、系统库、证书处理逻辑,甚至APP自身的网络请求策略,都可能和真机有微妙但关键的差异。你费半天劲在模拟器上配好了代理,抓到了包,结果一到用户手机上,发现请求根本走不通,或者证书不被信任,那前面的工作就白费了。

特别是当你需要测试微信小程序、或者一些对运行环境有强校验的APP时,真机抓包几乎是唯一的选择。微信小程序的网络请求封装在微信客户端内部,其证书校验逻辑和普通的浏览器或APP不同,在模拟器上复现微信环境本身就非常困难。而Burp Suite作为行业标杆的Web漏洞扫描和代理工具,其强大的拦截、修改、重放功能,在移动端测试中同样不可或缺。把Burp架设在你的电脑上,让手机流量经过它,你就能像分析网站一样,清晰地看到每一个API请求和响应,发现潜在的安全漏洞。

所以,这篇教程的核心,就是手把手带你完成从零开始,在Windows或macOS电脑上配置Burp Suite,并成功让Android和iOS真机的网络流量(包括普通APP和微信小程序)流经Burp进行抓包的全过程。我会把每一步的原理、可能遇到的坑以及我踩过之后总结的解决方案都讲清楚,目标是让你看完就能动手,动手就能成功。

2. 环境准备与核心工具解析

工欲善其事,必先利其器。在开始抓包之前,我们需要把环境和工具准备好。这个过程看似繁琐,但每一步都关系到后续操作的成败。

2.1 Burp Suite的安装与基础代理配置

首先,你需要一台电脑作为代理服务器。操作系统Windows或macOS均可,Linux也行,但考虑到图形化界面和驱动的通用性,前两者更友好。Burp Suite有社区版(免费)和专业版(收费),对于抓包这个核心功能,社区版完全够用。你可以从PortSwigger官网下载最新版本。

安装完成后,首次运行Burp,它会让你选择临时项目还是永久项目,这个随意,不影响核心功能。关键步骤在于配置代理监听器。

  1. 打开代理监听:进入Proxy->Options标签页。你会看到一个Proxy Listeners列表。默认情况下,Burp会监听127.0.0.1(本地回环地址)的8080端口。这个配置只能抓取本机浏览器的流量,对手机无效。
  2. 添加或编辑监听器:我们需要让Burp监听电脑的局域网IP地址,这样同一网络下的手机才能找到它。点击默认监听器右边的Edit,或者直接点击Add。
    • 绑定地址:这是最关键的一步。你不能只选Loopback only。需要选择All interfaces或者从下拉列表中选择你电脑在局域网中的具体IP地址(如192.168.1.100)。我个人的习惯是选All interfaces,省事。
    • 端口:可以沿用8080,也可以改成其他不常用的端口,比如8088、8888等,只要不和系统已有服务冲突就行。
    • 证书:保持默认即可,Burp会使用它自生成的CA证书来对HTTPS流量进行解密。

注意:很多新手在这一步会忽略防火墙。Windows Defender防火墙或第三方安全软件可能会阻止Burp对外的监听。当你配置好监听器后,如果手机连不上,请务必检查防火墙设置,确保对应端口(如8080)的入站规则是允许的。

配置完成后,Proxy Listeners列表中应该有一个状态为Running的监听器,其地址是你电脑的局域网IP,端口是你设置的端口。记下这个IP:端口组合,例如192.168.1.100:8080,下一步手机配置要用。

2.2 电脑与手机的网络环境搭建

要让手机流量走到电脑的Burp,前提是它们必须在同一个局域网内。最常见也最稳定的方式就是使用同一个Wi-Fi路由器。

  1. 将电脑和手机连接到同一个Wi-Fi:确保你的电脑(最好用有线连接,更稳定)和待测试的手机都连接到了同一个无线路由器下。
  2. 获取电脑的局域网IP地址:
    • Windows:在命令提示符(cmd)中输入ipconfig,找到你正在使用的网络适配器(通常是以太网或WLAN),下面的IPv4 地址就是你的局域网IP。
    • macOS/Linux:在终端中输入ifconfig或ip addr,找到对应的网卡查看inet地址。
  3. 验证网络连通性:在电脑上关闭防火墙或放行端口后,可以在手机浏览器里尝试访问http://<电脑IP>:<Burp端口>。例如http://192.168.1.100:8080。如果能看到Burp Suite的欢迎页面(一个写着“Burp Suite Community Edition”的简单页面),说明网络通路是OK的。如果看不到,请检查电脑防火墙、Burp监听器配置以及Wi-Fi连接。

这里有个实操心得:尽量避免使用电脑开启的“移动热点”功能让手机连接。虽然这样也能组成局域网,但Windows或macOS自带的移动热点功能有时在网络转发和DNS处理上会有奇怪的问题,导致代理不稳定或某些域名无法解析。使用一个独立的路由器是最稳妥的方案。

3. Android真机抓包全流程详解

Android系统相对开放,抓包流程比较标准,但不同版本和厂商定制系统仍有细节差异。我们分步拆解。

3.1 配置手机代理

这是让手机流量转向Burp的关键一步。

  1. 进入手机的设置->WLAN(或Wi-Fi)。
  2. 长按当前已连接的Wi-Fi网络,选择修改网络或高级选项。
  3. 将代理设置为手动。
  4. 代理服务器主机名:填写你电脑的局域网IP地址(如192.168.1.100)。
  5. 代理服务器端口:填写Burp中配置的端口(如8080)。
  6. 保存设置。

此时,手机所有的HTTP流量(非系统应用)都会尝试发送到你电脑的Burp。你可以打开手机浏览器,访问一个HTTP网站(注意是http,不是https),看看Burp的Proxy->HTTP history里有没有捕获到请求。如果能抓到,说明代理配置成功。

3.2 安装Burp的CA证书以解密HTTPS

现代APP和网站基本都使用HTTPS。如果只配置代理不安装证书,Burp只能看到一堆加密的乱码。Burp作为中间人(MitM),需要对HTTPS连接进行解密,这就需要手机信任Burp自己生成的CA证书。

  1. 从Burp导出证书:在电脑的Burp中,打开浏览器(确保浏览器代理已设置为Burp),访问http://burpsuite或你电脑的IP端口地址http://<电脑IP>:<端口>。在页面右上角,点击CA Certificate链接,将证书文件(通常名为cacert.der)下载到电脑本地。
  2. 将证书传输到手机:你可以通过数据线、微信文件传输助手、QQ、或者局域网共享文件夹的方式,把这个证书文件发送到手机上。建议放在手机存储的根目录或Download文件夹,方便查找。
  3. 在Android手机上安装证书:
    • Android 7.0 (Nougat) 及以下:相对简单。进入设置->安全->从存储设备安装(或类似选项),找到你传输过来的.der或.cer文件,点击安装。系统会要求你为证书命名(如“Burp CA”),并可能需要你设置锁屏密码(如果之前没设过)。
    • Android 8.0 (Oreo) 及以上:这是分水岭。由于网络安全配置的加强,用户安装的CA证书默认不再被APP信任(系统级信任和用户级信任分离)。你需要多一步操作: a. 按照上述路径安装证书到“用户凭据”。 b. 安装后,进入设置->安全->加密与凭据->用户凭据,你应该能看到名为“Burp CA”的证书。但这还不够。 c. 为了让APP(特别是目标测试APP)信任这个证书,你通常需要将APP的网络安全配置(networkSecurityConfig)进行修改,或者将手机进行Root/刷入Magisk模块。对于测试人员,更实用的方法是:使用Android模拟器(如夜神、雷电)并安装老版本系统(如Android 7.1),或者使用已Root的真机。对于非Root手机,可以尝试用VirtualXposed、太极等免Root框架结合JustTrustMe模块来绕过证书校验,但这对于某些加固的APP可能失效。

重要提示:在Android高版本上,即使安装了Burp证书,抓取像“抖音”、“淘宝”这类大型APP的包依然可能失败,因为它们使用了SSL Pinning(证书绑定)技术。对付SSL Pinning,需要更高级的反编译和Hook技术,这超出了基础抓包教程的范围,但你需要知道这个瓶颈的存在。

3.3 抓包实战与验证

完成代理和证书配置后,就可以开始抓包了。

  1. 确保Burp的Proxy->Intercept是Intercept is on状态(如果你想手动拦截修改请求)或Intercept is off状态(如果你只想记录历史流量)。
  2. 在手机上打开任意APP,或者访问网页。
  3. 回到电脑的Burp,查看Proxy->HTTP history标签页。你应该能看到源源不断的HTTP/HTTPS请求记录。
  4. 尝试抓取一个HTTPS请求(比如APP内的一个API调用)。如果请求详情是明文(你可以看到JSON、XML等参数),说明证书安装成功,HTTPS解密正常。如果显示的是Client SSL handshake failed或一堆乱码,说明证书未被APP信任,需要按上述方法解决证书校验问题。

一个针对微信小程序的特殊技巧:微信小程序本质上运行在微信客户端内。抓小程序的包,其实就是抓微信客户端的包。因此,上述配置对微信同样有效。打开微信,进入一个小程序,进行操作,然后在Burp的历史记录里筛选Host包含小程序相关域名的请求即可。需要注意的是,微信自身也有较强的网络层保护,在高版本Android上也可能遇到证书校验问题,解决方法同上。

4. iOS真机抓包全流程详解

iOS系统以封闭和安全著称,其抓包流程与Android有显著不同,但逻辑清晰,一旦配置成功,非常稳定。

4.1 配置iOS设备的代理

这一步与Android类似。

  1. 进入设置->无线局域网。
  2. 点击当前连接的Wi-Fi右侧的i信息图标。
  3. 滑动到最底部,找到配置代理,选择手动。
  4. 服务器:填写电脑的局域网IP地址。
  5. 端口:填写Burp的监听端口。
  6. 点击右上角存储。

4.2 在iOS上安装Burp的CA证书

这是iOS抓包的核心难点,也是必须精确操作的一步。

  1. 导出并传输证书:同样从Burp的CA Certificate页面下载证书文件。但iOS要求证书必须是.cer格式或.pem格式。Burp默认下载的是.der,但iOS也支持。将证书文件发送到iPhone上,可以通过邮件附件发送给自己,然后在iPhone的邮件App中点击下载;或者使用AirDrop隔空投送;也可以上传到iCloud Drive或任何你在iPhone上能访问的网盘。
  2. 安装描述文件:在iPhone上找到证书文件并点击它。系统会弹出提示,告诉你“此网站正尝试下载一个配置描述文件。您要允许吗?”,点击允许。
  3. 在设置中完成安装:下载完成后,打开设置应用,你应该能在顶部看到已下载描述文件的提示,点击进入。或者直接进入设置->通用->VPN与设备管理,在“已下载的描述文件”部分找到它。点击这个描述文件,然后点击右上角的安装。可能会要求你输入锁屏密码。
  4. 启用完全信任:这是最关键且最容易遗漏的一步。安装完描述文件后,证书并没有被完全信任。你需要进入设置->通用->关于本机->证书信任设置。在这个列表里,找到你刚刚安装的名为“PortSwigger CA”或类似名称的根证书,将其开关打开(变为绿色)。系统会有一个严重警告,提示你信任此证书的风险,确认即可。

只有完成了“证书信任设置”里的启用,Burp的CA证书才能解密iOS系统中APP的HTTPS流量。很多人在iOS上抓包失败,问题都出在这一步。

4.3 iOS抓包特性与注意事项

  1. 系统级代理:iOS的代理设置是系统级的,意味着所有网络请求(包括Safari、App Store以及绝大多数第三方APP)都会走这个代理,比Android更统一。
  2. App Transport Security (ATS):iOS的ATS特性要求APP必须使用安全的HTTPS连接。这反而简化了我们的工作,因为几乎所有流量都是HTTPS,只要证书信任了,就能解密。
  3. SSL Pinning:和Android一样,一些安全意识强的iOS APP(如银行类、大型社交APP)也会使用SSL Pinning。在非越狱的iOS设备上,绕过SSL Pinning极其困难,通常需要越狱后使用工具如SSL Kill Switch 2等。对于常规测试,可以优先选择未启用证书绑定的APP进行练习。
  4. 抓包验证:配置完成后,打开iPhone的Safari浏览器,访问任意HTTPS网站(如https://www.example.com)。在Burp的HTTP history中,你应该能看到清晰的请求和响应,而不是SSL错误。如果能抓到,说明配置成功。

针对微信小程序的iOS抓包:流程完全一致。配置好代理和证书后,打开微信并使用小程序,流量就会出现在Burp中。由于iOS系统的网络栈相对统一,成功率往往比Android高。

5. 微信小程序抓包专项突破

微信小程序因其运行环境的特殊性,抓包时需要一些额外的关注点。

5.1 小程序网络请求的特点

微信小程序的前端逻辑运行在微信的JavaScript引擎中,网络请求是通过微信客户端发起的。这意味着:

  • 请求头:会带有微信特有的Header,如Referer: https://servicewechat.com/...、User-Agent包含MicroMessenger等。
  • 域名白名单:小程序开发时需要在后台配置服务器域名白名单。只有白名单内的域名才能发起网络请求。这有时会影响测试,因为你无法让小程序直接请求你搭建的测试服务器,除非你修改了小程序代码或能控制其服务器域名配置(通常只有开发者能做到)。
  • 证书校验:微信客户端本身会进行严格的证书校验。在Android高版本上,如果未正确处理用户证书,会导致小程序内所有HTTPS请求失败。在iOS上,只要按照前述步骤完成了“完全信任”,通常没有问题。

5.2 抓包策略与问题排查

  1. 筛选流量:在Burp的Proxy->HTTP history中,使用过滤器(Filter)功能,可以按域名筛选。小程序的请求域名通常与其业务相关,观察Host头即可找到。
  2. 处理证书错误:如果在Android上抓小程序包遇到TLS handshake failure,根本原因还是Burp的CA证书未被微信信任。解决方案回归到3.2节:尝试使用低版本Android系统、Root后修改系统证书、或使用免Root框架配合绕过证书校验的模块。
  3. 注意WebSocket:一些实时性要求高的小程序会使用WebSocket。Burp默认可能无法很好地解析和显示WebSocket流量。你需要进入Proxy->Options->Intercept WebSocket Messages勾选相关选项,并在WebSockets history标签页中查看。
  4. 模拟器与真机选择:对于小程序测试,真机远优于模拟器。微信官方对模拟器的支持有限,很多小程序功能在模拟器上无法正常运行或网络行为异常。

6. 常见问题、高级技巧与安全须知

即使按照教程一步步操作,你也可能会遇到各种“坑”。这里我总结了一些最常见的问题和进阶技巧。

6.1 抓包失败常见问题排查表

问题现象可能原因解决方案
手机无法访问互联网电脑代理设置错误;电脑防火墙阻止;Burp未运行。1. 检查手机代理的IP和端口是否正确。
2. 暂时关闭电脑防火墙或添加入站规则。
3. 确认Burp的Proxy Listener处于Running状态。
Burp能看到HTTP请求,但HTTPS请求全是乱码或SSL错误CA证书未在手机上安装或未被信任。1.Android:确认证书已安装至“用户凭据”,并尝试解决高版本限制(Root/低版本模拟器)。
2.iOS:确认在“设置->通用->关于本机->证书信任设置”中启用了该根证书的完全信任。
特定APP(如银行、支付宝)无网络流量APP使用了SSL Pinning(证书绑定)。需要逆向分析APP,使用Frida、Xposed等工具Hook掉证书校验逻辑。这属于进阶内容,需单独学习。
微信/小程序内网络错误微信客户端自身的证书校验严格。Android:同“HTTPS请求乱码”解决方案。
iOS:确保证书完全信任。可尝试重启微信。
抓包延迟高或请求丢失网络不稳定;Burp或电脑性能不足。1. 确保电脑和手机连接同一5GHz Wi-Fi,或电脑使用有线连接。
2. 在Burp的Project options->Misc中,可调整Streaming responses等选项,或升级电脑配置。
手机设置代理后,电脑Burp无任何请求代理信息填写错误;手机网络未使用Wi-Fi(如使用了4G/5G)。1. 仔细核对IP和端口。
2. 确保手机当前使用的是设置了代理的那个Wi-Fi,而不是移动数据。

6.2 提升效率的Burp实用技巧

  1. 范围设置(Target Scope):在Target->Scope中,可以添加目标域名或IP范围。然后,在Proxy->Options->Intercept Client Requests中,勾选“And URL Is in target scope”。这样Burp只会拦截你关心的目标流量,避免被无关的APP更新、广告请求刷屏。
  2. 手机端证书安装捷径:除了下载文件传输,还有一个更快捷的方法:在手机浏览器(已设置代理)中直接访问http://<电脑IP>:<端口>,然后点击页面上的CA Certificate链接。iOS设备会直接引导你安装描述文件;Android设备会下载证书文件,然后你手动去设置里安装。
  3. 使用Burp的移动端辅助工具:Burp Suite提供了Burp Collaborator和Mobile Assistant等扩展,可以帮助检测盲注、SSRF等漏洞,在移动端测试中非常有用,值得探索。

6.3 法律与道德安全须知

最后,也是最重要的一点,必须强调安全测试的合法性。

  • 仅用于授权测试:本文所述技术仅适用于你拥有合法测试权限的环境,例如:
    • 对自己开发的APP进行安全自检。
    • 参与厂商授权的众测或漏洞奖励计划。
    • 在完全隔离的实验室环境中进行学习研究。
  • 禁止用于非法目的:严禁对未授权的任何网站、APP、网络服务进行抓包、扫描、攻击等操作。这不仅是违法行为,也可能对他人系统造成损害,并带来严重的法律后果。
  • 保护隐私数据:在测试过程中,可能会接触到一些数据。即使是授权测试,也应对这些数据严格保密,测试完成后及时清理。

抓包是安全分析的起点,是一把钥匙。希望这篇超详细的教程能帮你顺利打开移动端安全测试的大门。在实际操作中遇到的具体问题,往往需要结合具体情况分析,多搜索、多尝试、多思考,经验就是这样积累起来的。

相关新闻

  • 6DoF运动追踪:IMU与MCU协同实现原理与实践
  • 如何专业测试鼠标性能:开源工具实用指南
  • 深蓝词库转换:终极跨平台输入法词库迁移解决方案深度解析

最新新闻

  • 终极指南:如何高效解决ComfyUI IPAdapter人脸识别InsightFace安装问题
  • Unlock-Music完全指南:3分钟解锁加密音乐,实现跨平台自由播放的终极方案
  • 6DoF姿态解算:IIM-42652 IMU与PIC18F26K80的实战应用
  • NLP工具选型实战指南:NLTK、spaCy、CoreNLP、OpenNLP与Transformers深度对比
  • 13DOF传感器与PIC32MZ微控制器的嵌入式导航系统设计
  • 深度学习全栈认知地图:从问题定义到边缘部署的工业级实践

日新闻

  • Python Playwright录制功能:从零到一构建自动化测试脚本
  • 如何用开源工具永久保存你心爱的小说:novel-downloader全攻略
  • In-Context Learning不是教知识,而是模式对齐:从5个示例到100个工业级样本的真相

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号