很多人第一次遇到 iOS 抓不到包,反应都很一致,重装证书、换端口、重启工具、再试一次。
但如果你做过几次真实项目,很快就会意识到一个事实:
抓不到包,本质上是网络路径不在你的位置上。
工具只是在某一层等请求经过,问题在于请求有没有走到那一层。
在打开任何抓包工具之前,我通常会做一个非常简单的验证,打开 Safari,访问一个 HTTPS 网站,看能不能被代理工具抓到。
如果浏览器流量是正常的,那说明:
这一步的意义是把环境问题和App 行为问题分开。
这是最常见、也最让人困惑的情况。
在这种场景下,我一般不会马上怀疑工具不行,而是转而确认一件事:
这个 App 是否还在使用系统代理。
很多 iOS App 在以下场景中,会直接绕过系统代理:
这时候,HTTPS 代理抓包工具天然是看不见的。
当代理抓包毫无反应时,我会切换到数据流层。
在抓包大师中,可以通过 USB 连接 iPhone,直接使用数据流抓包功能:
我通常会只勾选目标 App,避免系统流量干扰判断。

如果在数据流里完全看不到任何外部通信,那问题已经不在抓包,而在 App 本身的网络触发逻辑。
这是另一类常见情况。
数据流里能看到:
但代理工具中还是空白。
这通常意味着应用在 HTTPS 层面做了额外校验,比如证书绑定。
代理证书虽然安装了,但客户端并不认可。
如果目标只是确认接口字段、请求顺序或返回结构,我会优先考虑:
而不是马上进入绕过安全机制的路径。
在抓包大师的 HTTPS 代理抓包模式中,拦截器是一个非常实用的辅助功能。
即使只能抓到部分请求,我也经常用它来:
这些操作不解决为什么抓不到包,但能快速回答抓到包后我能做什么。

一次完整的排查过程中,我通常会结合使用:
参考链接:https://www.sniffmaster.net/tutorial/zh/1/1.html
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70047439/viewspace-3108310/ ,如需转载,请注明出处,否则将追究法律责任。