跳转到内容

iOS 抓包

在 iPhone / iPad 上抓包,向来是最麻烦的一件事,别的工具往往要么得越狱,要么只能架代理(还得装描述文件、装证书,碰上证书绑定的 App 又抓不到)。iOS 抓包提供三种非越狱方式,从「零配置看系统请求」到「整机全量」再到「单个 App 完整明文」,总有一种拿下你的目标。


  • 连接设备:用数据线把 iPhone / iPad 连上电脑,设备上点 信任
  • 无需越狱:三种方式都面向非越狱设备。
  • 兼容新系统:较新的 iOS(含 iOS 17 及以上)换用了新的设备通道,这里依然能正常连接与抓包。
  • 同一设备若也在同网络出现,按 USB / 网络 选那条。

你的需求 用哪种 能看到什么 要不要装证书 / 重签
快速看系统发出了哪些 HTTPS 请求(地址 / 状态 / 头) 系统级抓包 普通 App 也能用(普通 App 看不到 Body) 都不用,只装一个诊断描述文件
整机全部流量(含非 HTTP、握手 / SNI) 网卡抓包 全量数据(默认密文,可定点解密) 看密文不用;解密某 App 才需重签
某个 App 的完整明文收发(含 Body) 应用层抓包 单 App 完整明文 目标 App 需开发证书重签名

三种都不越狱。系统级抓包尤其省心:普通 App、App Store 应用也能看到它请求了哪些 HTTPS 地址,这是很多工具在非越狱 iPhone 上做不到的。


三、系统级抓包,最省心,普通 App 也能用

Section titled “三、系统级抓包,最省心,普通 App 也能用”

想快速看清「这台 iPhone 都发出了哪些 HTTPS 请求」,又不想装证书、设代理、处理证书绑定,这是最省心的方式。

  • 列出系统发出的 HTTP(S) 事务:请求方法、完整 URL(HTTPS 也是明文地址)、状态码、请求头与响应头。
  • 无需装 CA 证书、无需设代理、无需处理证书绑定
  • 能看到多少,受系统诊断日志本身的限制:
    • 普通 App、App Store 应用:通常只能看到请求地址与请求头
    • 开发证书签名的 App:可看到完整的请求 / 响应 Body

前提:需安装配套的设备诊断描述文件(一次即可)。


四、网卡抓包,看这台设备的一切

Section titled “四、网卡抓包,看这台设备的一切”

抓设备整台的全部网络流量,不限 App、不限协议,连非 HTTP 的 QUIC、自定义协议都在。

  • 默认看到什么:默认是密文包 + 元数据(目标地址、端口,以及 TLS 握手里的 SNI 主机名),足以看清「这台设备连了哪些地方、用什么协议」。
  • 想看明文:对目标 App 用「解密此程序」勾选即可解出其明文;前提是该 App 已用开发证书重签名

五、应用层抓包,单个 App 的完整明文

Section titled “五、应用层抓包,单个 App 的完整明文”

针对单个 App,直接获取它收发的完整明文(含 Body),证书绑定也拦不住,因为它从 App 内部取。

  • 重启目标程序:可先关掉再重新启动 App,把它启动初期的流量也抓到。
  • 解不出明文时开「socket 流量」兜底:遇到静态链接 / 自研库、常规方式取不到明文的 App,打开这个开关换一条更底层的路取数据。
  • App 列表里只有开发证书重签名的 App 可选,其余会置灰。

前提:目标 App 需用开发证书重签名,App Store 与系统 App 需先重签才能作为目标。


除了以上三种,iPhone / iPad 还能用代理抓包:把设备的 Wi‑Fi 代理指向本机、装上根证书,即可像电脑一样抓 HTTPS 明文,并使用改写、重放等完整能力。适合调试走系统代理的 App、或需要对移动端请求做规则改写 / 重放的场景。


  • 快速排查「App 请求了哪些接口、返回什么」,系统级抓包最省事,连普通 App 都能用。
  • 要看整机所有流量(含非 HTTP),用网卡抓包
  • 能重签目标 App、要它完整明文 Body,用应用层抓包
  • 想边看边改(改写 / 重放移动端请求),用代理抓包

返回 代理抓包 · 相关:数据查看与解码 · 证书管理与安装