在 iOS 网络调试中,抓包工具并不是装一个就能用。
不同工具站在不同网络位置,能看到的数据范围并不一样。
如果在一开始就选错工具,后面所有操作都会变成反复配置,而不是推进问题。
在开始抓包前,我会先把目标拆成几个具体问题:
这些问题的答案,会直接限制工具的选择范围。
在 iOS 抓包中,代理工具的作用非常明确:
验证请求是否经过系统代理。
如果 Safari 请求能完整显示,说明:
此时再打开目标 App,观察是否有请求出现。
当 Safari 流量可见,而 App 完全没有请求时,可以确认一件事:
App 的网络请求没有经过系统代理。
在这个状态下:
都不会让请求出现,因为网络路径已经绕过了代理。
在放弃代理之前,需要确认 App 是否真的发起了网络请求。
这一步可以借助网络层工具:
如果在操作 App 时能看到这些底层连接,说明请求存在,只是抓包工具站错了位置。
当确认请求不走系统代理后,需要切换到设备级抓包方式。
在这种模式下,工具不再依赖 Wi-Fi 代理,而是直接从 iOS 设备获取网络数据。
整个过程不需要在手机上设置代理,也不需要手动信任抓包证书。
设备级抓包启动后,系统流量会大量出现。
在抓包大师中,可以通过「选择 App」功能:
这样可以在一次业务操作后,直接定位到对应请求。

在抓包结果中,有一个可直接观察的现象:
这表明 HTTPS 已被捕获,但 App 并未使用 iOS 开发证书签名。
此时工具本身没有异常,数据缺失来自平台限制。

当调试目标要求查看请求体或响应体时,操作路径是确定的:
完成后,HTTPS 数据即可完整解析。
在常见 Sniffmaster 中, 请求 / 响应拦截器只存在于代理模式。
在需要验证客户端逻辑分支时,需要明确切回代理模式。

一次完整的 iOS 抓包流程中,不同工具承担不同职责:
工具并不互相替代,而是覆盖不同层级。
如果一个抓包步骤连续多次没有新现象出现,问题可能不在配置上,而在工具选择上。
换抓包层级,比反复调整同一工具更有效。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046795/viewspace-3109835/ ,如需转载,请注明出处,否则将追究法律责任。