3、抓包环境搭建:Burp Suite安装与配置、Fiddler安装与配置、Charles安装与配置
做移动安全,抓包是基本功。说白了,没有抓包工具,你就像在黑夜里摸路,根本不知道App跟服务器之间到底在聊什么。我个人习惯把这三种工具都备着,因为不同场景下,它们的表现差异还挺大的。
今天我就带你把这三大抓包神器——Burp Suite、Fiddler、Charles,从安装到配置,一步步走通。嗯,这里要注意,配置过程中最容易出问题的就是证书安装,我当年踩过的坑,今天一并告诉你。
核心观点:抓包环境的本质是中间人代理。你的手机流量先经过代理工具,再由代理转发给服务器。代理工具在这个过程中解密HTTPS流量,你才能看到明文。
3.1 Burp Suite:专业Web安全测试的首选
Burp Suite是我用得最多的工具。为什么?因为它不只是抓包,它还能做重放、爆破、扫描,功能非常全。我个人习惯用社区版,免费够用。
3.1.1 安装与基础配置
- 环境要求:需要Java 8以上。我记得有一次在旧机器上装,JDK版本太低,启动直接报错,折腾了半天。
- 下载:去PortSwigger官网下载社区版,免费。
- 启动:双击jar文件,或者命令行执行
java -jar burpsuite_community.jar。 - 代理设置:进入Proxy → Options,默认监听127.0.0.1:8080。我建议改成你电脑的局域网IP,比如192.168.1.100:8080,这样手机才能连上。
小技巧:启动后先点一下"Temporary project",选"Use Burp defaults",快速进入工作状态。
3.1.2 证书导出与手机安装
抓HTTPS必须装证书。Burp的证书导出方式很简单:
- 浏览器访问
http://burp,会看到证书下载页面。 - 下载
cacert.der文件。 - 把文件传到手机上,在设置里安装。Android路径:设置 → 安全 → 从存储设备安装。
注意:Android 7.0以上,用户证书默认不被信任。我曾经在这个问题上卡了整整一天。解决方案有两个:要么root后把证书移到系统证书目录,要么用VirtualXposed这类工具绕过。
3.2 Fiddler:Windows用户的抓包利器
如果你用Windows,Fiddler绝对是首选。它跟系统集成度很高,操作起来非常顺手。我刚开始做移动安全时,用的就是Fiddler。
3.2.1 安装与HTTPS解密开启
- 下载:去Telerik官网下载Fiddler Classic,免费。
- 安装:一路Next就行,没什么坑。
- 开启HTTPS解密:Tools → Options → HTTPS → 勾选"Decrypt HTTPS traffic"。
- 允许远程连接:Tools → Options → Connections → 勾选"Allow remote computers to connect"。
这里有个细节:第一次勾选HTTPS解密时,Fiddler会提示你安装根证书。点"是"就行。如果你不小心跳过了,可以在Actions → Reset All Certificates里重新来。
3.2.2 手机端配置
手机端的配置跟Burp类似:
- 手机WiFi设置代理,指向电脑IP,端口8888(Fiddler默认端口)。
- 浏览器访问
http://你的电脑IP:8888,下载Fiddler根证书。 - 安装证书到手机。
避坑指南:我曾经遇到一个问题——手机连上代理后,所有App都提示网络错误。排查了半天,发现是Windows防火墙把Fiddler的端口拦了。解决办法:在防火墙里添加入站规则,允许8888端口。
3.3 Charles:macOS用户的优雅选择
Charles在macOS上体验最好,界面比Burp和Fiddler都清爽。我个人觉得它的UI设计是最舒服的,操作逻辑也很直观。
3.3.1 安装与SSL代理配置
- 下载:去Charles官网下载,有30天试用期。
- 安装:拖到Applications文件夹就行。
- 开启SSL代理:Proxy → SSL Proxying Settings → 勾选"Enable SSL Proxying" → Add → Host填 *,Port填 443。
- 设置代理端口:Proxy → Proxy Settings,默认8888,我一般不改。
小技巧:Charles有个很实用的功能——"Map Remote"。你可以把某个请求重定向到另一个地址。我在调试App的线上和测试环境切换时,经常用这个功能。
3.3.2 证书安装
Charles的证书安装稍微有点不同:
- Help → SSL Proxying → Install Charles Root Certificate on Mobile Device or Remote Browser。
- 手机浏览器访问
http://chls.pro/ssl,下载证书。 - 安装到手机。
嗯,这里要注意:Charles生成的证书格式是.pem,Android和iOS都支持。但iOS 13以上,安装证书后还要在"关于本机 → 证书信任设置"里手动开启信任。我有个同事就因为这个步骤漏了,折腾了一下午。
3.4 三种工具对比总结
| 特性 | Burp Suite | Fiddler | Charles |
|---|---|---|---|
| 平台 | 跨平台(Java) | Windows | 跨平台(macOS最佳) |
| 核心功能 | Web安全测试、重放、爆破 | HTTP/HTTPS调试、性能分析 | 接口调试、流量模拟 |
| 证书安装 | 浏览器访问http://burp | 浏览器访问代理IP:8888 | 浏览器访问http://chls.pro/ssl |
| 默认端口 | 8080 | 8888 | 8888 |
| 适合场景 | 安全测试、渗透测试 | Windows环境、日常调试 | macOS环境、UI友好 |
我的建议:如果你是做安全测试,优先学Burp Suite。如果你是日常调试App,Windows用Fiddler,macOS用Charles。三种工具都掌握最好,因为不同项目、不同团队用的工具不一样。我见过有的公司强制用Burp,有的团队全员Fiddler。
3.5 通用避坑指南
最后,我总结几个所有抓包工具都会遇到的坑:
- 代理连不上:检查手机和电脑是否在同一局域网,防火墙是否拦截了端口。
- 证书装不上:Android 7.0+需要root或VirtualXposed。iOS 13+需要手动开启证书信任。
- 抓不到HTTPS:确认代理工具开启了HTTPS解密功能,并且证书已正确安装。
- App闪退或报错:有些App做了证书绑定(SSL Pinning),这种情况需要绕过绑定,我们下一章会详细讲。
重要提醒:抓包完成后,记得关闭代理。我经常忘记关,结果手机上网全走代理,速度慢得要命。另外,不要在非测试环境下长期开启代理,会影响正常网络使用。
好了,三种工具的安装配置就讲到这里。你想想看,其实核心逻辑都一样——设置代理、安装证书、开启HTTPS解密。区别只在于操作界面和细节步骤。我个人建议你先把Burp Suite练熟,因为它功能最全,学会了它,其他工具上手会很快。
公众号:蓝海资料掘金营,微信deep3321