给 iPhone 抓 HTTPS 包的两条路:Fiddler 代理法 vs 抓包大师手机直抓
"我想看看 iPhone 上某个 App 到底请求了哪些接口"——这个需求有两种主流解法。一种是让手机流量绕到电脑上的 Fiddler;另一种是用抓包大师(Sniffmaster)这类手机端 App 直接在本机抓。本文把两条路的完整流程和关键难点讲清楚,重点说明它们分别卡在哪里。
一、路线 A:Fiddler 代理抓包(电脑侧)
核心思路:iPhone 把所有 HTTP(S) 流量通过 WiFi 代理发到电脑上的 Fiddler,Fiddler 用自己的根证书解密后再转发。
关键步骤:
- 电脑 Fiddler:Tools > Options > Connections 勾选 Allow remote computers to connect,记下端口 8888。
- 确保 iPhone 与电脑连同一个 WiFi,查到电脑局域网 IP(如 192.168.1.10)。
- iPhone:设置 > 无线局域网 > 当前网络 > 配置代理 > 手动,服务器填电脑 IP、端口 8888。
- iPhone 用 Safari 访问
http://电脑IP:8888,下载 FiddlerRoot 证书并安装。 - 关键易漏点:装完证书还要到"设置 > 通用 > 关于本机 > 证书信任设置"里,手动把 Fiddler 证书的开关打开——不打开,HTTPS 依然解不了。
- 电脑 Fiddler:Tools > Options > HTTPS 勾选 Decrypt HTTPS traffic。
会卡住的地方:
- 手机和电脑不在同一网段、或电脑防火墙拦了 8888,代理直接连不通。
- 某些 App 不走系统代理(直连),这时代理法完全抓不到它的流量。
- 开启了证书绑定(certificate pinning)的 App,只信任自己内置的证书,装了 Fiddler 证书也会握手失败——这是代理法最常见的"死路"。
二、路线 B:抓包大师手机端直抓(手机侧)
核心思路:据其官网(sniffmaster.net)介绍,抓包大师直接运行在 iPhone 上,不设代理、不需要第二台电脑、无需越狱,在本机完成抓包并展示 HTTPS 明文。
相对代理法省掉的环节:
- 不用配 WiFi 代理,也不要求手机电脑同网络,用蜂窝数据也能抓。
- 不用在两台设备间来回下载、安装、手动信任证书。
- 抓到的结果直接在手机上看,适合随时随地临时排查。
它的取舍在于:手机屏幕小,面对大量会话时的筛选、对比、导出、二次加工,通常不如桌面工具从容;改写/重放/脚本等"抓后处理"能力也以其官网说明为准。适合"快速看一眼请求"的场景,重度分析和改包仍是桌面工具的主场。
三、两条路怎么选
| 维度 | Fiddler 代理法 | 抓包大师手机直抓 |
|---|---|---|
| 是否需要电脑 | 需要 | 不需要 |
| 是否要同一 WiFi | 需要 | 不需要(可用蜂窝) |
| 证书配置 | 手动安装 + 手动信任 | 据官网免去代理证书配置 |
| 改写 / 重放 / Mock | 强(桌面成熟) | 以官网说明为准 |
| 海量会话分析 | 大屏,顺手 | 手机屏,偏轻量 |
| 典型场景 | 工位深度调试 | 随手/无电脑排查 |
四、小结
给 iPhone 抓 HTTPS,本质是选"电脑代理"还是"手机直抓"。要深度调试、改包重放,用 Fiddler;要省配置、无电脑、图快,用抓包大师。 两者不冲突,很多人会按场景切换。至于证书绑定这类硬骨头,代理法通常无解,需要更专门的抓包方案。抓包大师的详细能力见 sniffmaster.net。