Skip to content

Charles 手机版替代方案:iPhone 上直接抓包调试 HTTPS,不用 Mac

在 iPhone 上完成 Charles 的常用功能:HTTPS 解密、Map Local、Map Remote、断点、重写和 HAR 导出,不需要电脑,也不用配 Wi-Fi 代理。

2 分钟阅读HTTPS Capture

用 Charles 抓 iPhone 的包是很多人的老办法。流程大家也都熟:Mac 上开 Charles,手机 Wi-Fi 代理指向电脑,安装 Charles 证书,两台设备还得在同一个网络里。HTTPS Capture 把这套流程搬到了 iPhone 上。在地铁上、用蜂窝网络、身边没有电脑时,也能直接看 App 的请求。下面把 Charles 的常用功能逐一对应过来。

功能对照:Charles 和 HTTPS Capture

CharlesiPhone 上的 HTTPS Capture
SSL Proxying内置 CA,按三步引导完成信任
Map Local请求映射:直接返回本地状态码、Header 和 Body(教程)
Map Remote远程映射:把匹配的请求转发到其他主机、端口、协议或路径(教程)
RewriteURL 重写:修改 Header 和 Body,屏蔽或重定向(教程)
Breakpoints断点:暂停、修改、放行或丢弃(教程)
DNS SpoofingHosts:把域名映射到指定 IP,保留原始 SNI(教程)
Repeat / Compose重新发送、编辑并发送,以及可保存的请求库(教程)
导出会话导出整个会话或单条请求为 HAR(教程)
Include / ExcludeURL 筛选器 白名单和黑名单

另外还有几项在 Charles 旁边通常要另找工具的功能:

  • JavaScript 脚本:修改匹配的请求和响应(教程)
  • 服务端回放:把录制的会话或 HAR 变成离线 Mock 后端(教程)
  • AES 解密:在详情页解密加密的 Body(教程)
  • DNS 查询抓取、JA3/JA4 TLS 指纹、请求对比

在手机上抓包的好处

  • 不依赖网络环境:不涉及代理设置,蜂窝网络和任何 Wi-Fi 都能用。
  • 按 App 区分:每条请求都标明是哪个 App 发出的。
  • 随时开始:主屏幕长按图标或控制中心一键开始,灵动岛实时显示进度。
  • 隐私:所有数据都在 iPhone 本地解析和保存。

什么时候 Charles 仍然更合适

大屏幕看超长 JSON 更方便,Charles 的插件生态也积累了很多年。两者完全可以配合:在问题发生的现场用 iPhone 抓包,然后 导出 HAR 文件,回到电脑上用 Charles 打开。如果测试机已经信任了 Charles 的 CA,可以从 Charles 导出 .p12,在 HTTPS Capture 里用 导入自定义 CA,就不用再信任第二张证书。

也能抓其他设备

HTTPS Capture 也可以像 Charles 一样给其他设备当代理。开启 局域网抓包,把同一 Wi-Fi 下另一台手机或电脑的代理指向 iPhone 的地址即可。详见 用 iPhone 当代理抓其他设备的包。

上手

按 iPhone 手机抓包教程 操作,一分钟左右就能配好。

HTTPS Capture

Capture and decrypt HTTPS traffic on iPhone

App Store

准备好试试了吗?

HTTPS Capture · Capture and decrypt HTTPS traffic on iPhone

App Store 免费下载