想知道 iPhone 上某个 App 发了哪些请求、连了哪些服务器、服务器又返回了什么?传统方法是在电脑上开 Charles 或 Fiddler,配置 Wi-Fi 代理,再手动把证书装到手机上。HTTPS Capture 在 iPhone 上就能完成全部抓包,不需要电脑,不用越狱,数据也不会离开手机。
手机抓包的原理
HTTPS Capture 在 iPhone 上建立一个本地 VPN。这个 VPN 不会把流量转发到任何远程服务器,只用来让 App 看到本机流量。HTTP 请求由本地代理直接读取;HTTPS 则需要你安装并信任一个 CA 根证书,代理才能解密,把内容显示成明文。
抓到的请求、Header 和 Body 都只保存在你自己的 iPhone 上。
第一步:完成三步配置
- 打开 HTTPS Capture,在抓包页点 MitM,可以看到一个三步清单。
- 启用 VPN:按提示允许 iOS 添加 VPN 配置。
- 安装证书:点 下载证书描述文件,Safari 会下载描述文件;然后到 设置 → 通用 → VPN 与设备管理 安装。
- 信任证书:到 设置 → 通用 → 关于本机 → 证书信任设置,打开 HTTPS Capture 证书的开关。
三步都显示完成后,就可以解密 HTTPS 了。证书安装的细节和常见问题见 iPhone 抓包证书安装与信任。
第二步:开始抓包
回到抓包页,点 开始。卡片变绿后会显示计时、实时的请求数和域名数、上下行流量以及吞吐曲线。现在去打开你想分析的 App 或网页就行。
还有几种更快的开始方式:
- 主屏幕快捷操作:长按 App 图标,选 开始抓包。
- 控制中心(iOS 18 及以上):添加 流量抓包 控件,不用打开 App 就能开关。
- 实时活动:抓包时锁屏和灵动岛会显示已用时间和请求数。
第三步:查看请求
点统计栏或打开会话,请求列表可以 按域名分组,也可以 按时间排列。每一行都显示方法、状态码、大小、耗时和发起请求的 App。点开一条请求,有五个视图:
- 请求:URL、请求头、Cookie 和 Body
- 响应:状态码、响应头和 Body;JSON 高亮、图片预览、QuickLook、十六进制查看都支持
- 帧:逐条查看 WebSocket 消息
- 概览:目标主机、远程 IP、流量和 TLS 指纹
- 时序:DNS、连接、TLS 握手、等待首字节(TTFB)、下载各阶段的瀑布图
用右上角的筛选按钮可以按方法、状态码、内容类型、耗时过滤,搜索范围可以是 URL、Header 或 Body。
第四步:停止并保存会话
看完后点 停止。每次抓包都会保存成一个会话,可以重命名、以后再看、做对比,或者 导出 HAR 文件。
抓到流量之后还能做什么
抓到的 HTTPS 请求比预期少?
Apple 系统域名默认不抓;使用证书固定(SSL Pinning)的 App 只认自己的证书;HTTP/3(QUIC)流量也不会被解密。具体原因和处理方法见 iPhone 抓包抓不到 HTTPS 的常见原因。
准备好试试了吗?
HTTPS Capture · Capture and decrypt HTTPS traffic on iPhone
App Store 免费下载