Fiddler 抓包进阶:iOS 设备 HTTPS 流量捕获全攻略

张开发
2026/4/12 13:19:17 15 分钟阅读

分享文章

Fiddler 抓包进阶:iOS 设备 HTTPS 流量捕获全攻略
1. 为什么需要捕获iOS设备的HTTPS流量在日常开发和测试工作中我们经常需要分析移动应用与服务器之间的通信数据。对于iOS设备来说HTTPS流量捕获尤为重要因为现代应用基本都采用了HTTPS加密传输。通过Fiddler这样的抓包工具我们可以调试API接口查看请求参数和响应数据是否符合预期分析性能问题检查网络请求的耗时和资源加载情况排查线上问题复现用户遇到的具体网络错误安全测试验证数据传输是否真正安全我遇到过不少开发者抱怨明明在Android上能抓到包为什么iOS就不行这主要是因为iOS系统有更严格的安全机制。接下来我会详细介绍如何突破这些限制。2. 环境准备与基础配置2.1 必备条件检查在开始之前请确保满足以下条件一台运行Windows或macOS的电脑本文以Windows为例安装最新版Fiddler Classic建议从官网下载iOS设备与电脑处于同一局域网电脑防火墙允许Fiddler的入站连接实测中发现很多问题都源于网络环境配置不当。建议先用手机ping电脑IP确保网络连通性。如果使用公司网络要注意有些企业网络会限制设备间通信。2.2 Fiddler基础设置首次运行Fiddler需要进行以下配置打开Tools Options Connections设置监听端口默认8888可自定义勾选Allow remote computers to connect记下电脑的IPv4地址cmd中执行ipconfig这里有个常见坑点如果电脑有多个网卡比如同时连接有线网络和WiFi要确保手机连接的是与Fiddler所在网卡相同的网络。我有次调试半天才发现手机连的是隔壁会议室WiFi...3. iOS设备代理配置详解3.1 网络代理设置步骤在iOS设备上配置代理其实很简单进入设置 Wi-Fi点击当前连接WiFi右侧的i图标滑动到底部选择配置代理选择手动输入电脑IP和Fiddler端口点击存储配置完成后建议立即打开Safari访问任意网页看看Fiddler是否能捕获到请求。如果看不到任何流量请检查电脑和手机是否真的在同一网络防火墙是否阻止了Fiddler代理配置是否输入正确3.2 解决代理设置失效问题有时会发现代理设置会自动恢复为关闭状态这通常是因为iOS系统与某些路由器存在兼容性问题网络切换时系统自动重置配置使用了VPN或企业证书遇到这种情况可以尝试重启iOS设备的网络设置设置 通用 传输或还原iPhone 还原 还原网络设置更换其他WiFi网络测试使用USB连接代理工具作为备选方案4. HTTPS流量捕获关键步骤4.1 Fiddler证书配置要让Fiddler解密HTTPS流量需要进行证书配置打开Tools Options HTTPS勾选Capture HTTPS CONNECTs和Decrypt HTTPS traffic点击Actions Trust Root Certificate安装证书导出证书到桌面备用FiddlerRoot.cer这里有个重要提示如果之前安装过旧版证书建议先通过Actions Reset All Certificates清除否则可能导致冲突。我就曾因为证书冲突浪费了两小时排查。4.2 iOS设备安装证书在iOS设备上安装证书需要特别注意使用Safari访问http://电脑IP:端口如http://192.168.1.100:8888下载FiddlerRoot证书进入设置 通用 VPN与设备管理安装下载的描述文件最关键的一步进入设置 通用 关于本机 证书信任设置开启对Fiddler证书的完全信任很多开发者会漏掉最后一步信任设置结果发现仍然抓不到HTTPS包。iOS 10.3之后引入的这个额外安全步骤确实坑了不少人。5. 常见问题排查指南5.1 只能看到Tunnel to 443请求如果Fiddler只显示Tunnel to xxx.xxx.xxx.xxx:443而看不到具体内容通常是因为证书未正确安装或信任Fiddler的HTTPS解密功能未启用应用使用了证书绑定Certificate Pinning对于前两种情况重新检查前面的配置步骤即可。如果是证书绑定可以尝试使用越狱设备配合SSL Kill Switch等工具修改应用代码重新打包仅限自己开发的应用尝试低版本iOS系统某些旧版本可能不强制证书绑定5.2 突然无法捕获流量原本正常的抓包突然失效可能原因包括网络环境变化如切换了WiFiiOS系统自动更新后重置了证书信任Fiddler证书过期默认有效期2年电脑IP地址变更建议建立检查清单确认代理设置仍然有效重新下载安装证书重启Fiddler和iOS设备6. 高级技巧与实用建议6.1 过滤特定应用流量当捕获到大量无关请求时可以使用这些过滤技巧在Fiddler右栏输入process:应用名进行过滤使用Filters选项卡设置主机名过滤针对特定域名设置断点在命令行输入bpu 域名我发现组合使用这些方法可以显著提高效率。比如调试电商APP时可以先过滤掉所有图片请求专注分析API调用。6.2 性能优化配置长时间抓包可能导致Fiddler内存占用过高iOS设备网络变慢捕获文件过大优化建议定期清理会话CtrlX关闭不必要的捕获选项如图片设置自动存档File Save All Sessions增加Fiddler缓存大小Tools Options General7. 安全注意事项虽然抓包对开发很有帮助但要注意不要在生产环境长时间开启抓包调试完成后及时关闭iOS设备的代理设置妥善保管Fiddler根证书可定期重置不要分析非自己开发的第三方应用数据我曾见过有开发者忘记关闭代理导致手机一直通过开发电脑上网不仅影响速度还存在安全风险。建议养成用后即关的好习惯。8. 替代方案对比除了Fiddler还有其他iOS抓包方案Charles功能类似但收费macOS体验更好Wireshark适合底层协议分析但配置复杂rvictlXcode自带工具需要USB连接代理工具mitmproxy适合技术较强的开发者从易用性角度看Fiddler仍然是Windows平台下最方便的选择。如果是macOSiOS开发环境Charles可能更合适。

更多文章