用户手册

不用电脑在 iPhone 上抓 HTTPS

想在不用 Mac 的情况下看 iPhone App 的 HTTPS 流量,把抓包放在手机上做。NetPeek 通过本机隧道记录流量,全程只有 iPhone。安装并完全信任 NetPeek 的本机 CA,把要调试的域名加入 MITM 名单,再重新发一次请求即可。有两条限制:做了证书固定的 App 仍然看不到明文;QUIC 流量要先回退到 TCP。

查看 iPhone 流量有哪几种做法,各需要什么

做法需要什么证书不足
桌面代理工具一台运行代理工具的电脑,iPhone 能通过网络连到它;在 iPhone 的 Wi-Fi 设置里手动指向该代理。在 iPhone 上安装该工具的根证书,并在「证书信任设置」里开启完全信任。不走系统代理的 App 或 SDK 可能到不了代理。
通过 Mac 录制数据包一台装有 Xcode 的 Mac,用 USB 连接 iPhone,在终端里用设备 UDID 运行 rvictl。Apple 的录制步骤里不涉及证书。需要 Mac 和数据线;得到的是数据包记录,不是请求列表。
iPhone 上的 NetPeek一部 iPhone 和 NetPeek。不需要电脑,不需要越狱;开始抓包时允许 iOS 的 VPN 配置。安装并完全信任 NetPeek CA,再把域名加入 MITM 名单。证书固定的 App 和 QUIC 流量仍看不到明文。

Mac 这条路径见 Apple 文档 Recording a Packet Trace。各桌面代理工具的设置以各自文档为准。如果在桌面代理和 NetPeek 之间选择,可以看与桌面代理的对比。

直接在 iPhone 上抓 HTTPS

  1. 打开 NetPeek,点击开始抓包,按提示允许 iOS 的 VPN 配置。列表、过滤和请求详情见抓包手册。
  2. 安装并完全信任 NetPeek CA。在 App 里下载描述文件,到「设置」→「通用」→「VPN 与设备管理」安装,再到「设置」→「通用」→「关于本机」→「证书信任设置」开启完全信任。每一步见 HTTPS 手册。
  3. 把要调试的域名加入 MITM 名单。
  4. 使用目标 App,打开新产生的请求。第 3 步之前抓到的记录仍是加密的,需要重新发请求。

信任需要你自己开启,因为 iOS 不会信任手动安装的证书,直到你启用它。Apple 的支持页 信任手动安装的证书 描述了这项设置;Apple 的部署指南写明,自动信任额外的根证书需要使用设备管理服务。NetPeek 的 CA 在手机上生成,私钥不会上传。

只用手机更合适的情况

抓包手册列出了与桌面 HTTP 代理相比,本机抓包常常更有用的场景。这不保证每个 SDK 或每条后台请求都能抓到。

  • App 使用的网络库不走系统代理。
  • 问题只在蜂窝网络下出现。
  • 你不在工位,身边没有电脑。

仍然需要电脑的情况

电脑是可选的。想让电脑上的 AI 客户端分析抓包,可以开启本机 MCP 服务。它默认关闭,使用 Token,通过受信任的局域网或 USB 连接。见 NetPeek MCP。

仍然看不到明文

按顺序排查:证书信任设置里没有开启完全信任;域名不在 MITM 名单;App 做了证书固定;流量走 QUIC/HTTP3 且没有开启「屏蔽 QUIC」。每一项见 HTTPS 手册。NetPeek 不会绕过证书固定。

导出与重放

任何请求都可以复制为 cURL,导出 HAR 附到缺陷报告,或编辑后重新发送。见重放。

常见问题

不用 Mac 能在 iPhone 上抓 HTTPS 吗?

可以。NetPeek 在 iPhone 本机抓包,不需要电脑。查看 HTTPS 明文需要安装并完全信任 NetPeek CA,并把域名加入 MITM 名单。

需要越狱吗?

不需要。NetPeek 通过 iOS 标准的本机 VPN 隧道接口记录流量。

抓包数据会上传吗?

NetPeek 默认不上传。抓取、存储和查看都在设备上完成。只有你开启 MCP 并把 Token 交给客户端,该客户端才能读取抓包。详见 FAQ。

为什么 HTTPS 请求只看到域名?

在 CA 安装并完全信任、域名加入 MITM 名单之前,内容是加密的。已有记录不会事后解密。

相关:NetPeek 手册 · 首页