使用 Proxyman 抓取 iPhone 和 iPad 的 HTTP(s) 流量
本篇小文将演示如何使用 Proxyman for macOS 抓取并查看 iOS 设备的 HTTP/HTTPS 流量。
本文将介绍以下内容:
- 如何在 iOS 设备上安装并信任 Proxyman 证书
- 如何检查 iPhone、iPad 上 Unsplash 应用的 HTTP(s) 流量
- 以明文查看 HTTPS 请求/响应内容
- 使用编辑工具打开内容
- 固定一个域名,查看该域名的全部请求/响应
1. 配置:
1.1/ 下载应用
如果你还没有下载应用,请从 Proxyman 官网 https://proxyman.com/ 下载最新版本。
如果你是 Proxyman 新用户,请先阅读 快速上手 Proxyman。
如果已完成设置,你就能在 macOS 上看到 HTTP/HTTPS 流量。

1.2/ 为 iPhone 设置证书
请进入 Certificate 菜单 -> Install Certificate on iOS -> Physical Devices(真机)。

iOS 设置指南会展示所有必要步骤:

1.3/ 将 Wi-Fi 代理指向 Proxyman
在 iPhone 上进入设置 App -> Wi-Fi -> (选择当前 Wi-Fi)-> 配置代理 -> 手动。然后,我按照指南中显示的相同服务器和端口,在 iPhone 上配置代理。
请将 IP 192.168.0.103 更新为 iOS 设置指南窗口中显示的 IP。

1.4/ 安装 Proxyman 描述文件
至此,我们已经可以在 Proxyman 应用中看到来自我设备的所有请求。不过,要查看响应内容,还需要安装 Proxyman 证书。
你可以用手机扫描二维码,快速跳转到 **http://proxy.man/ssl**,或者
在 Safari 中访问 **http://proxy.man/ssl**,然后点击 “允许”按钮。
如果无法访问该域名,请确保关闭 iPhone 上的所有 VPN 应用。否则,请参阅此 故障排查指南。

1.5/ 安装 Proxyman 证书
然后进入设置 App -> 已下载的描述文件 -> 选择 Proxyman CA -> 安装。

1.6/ 信任 Proxyman 证书
从 iOS 10.3 及更高版本开始,需要手动信任证书。因此最后一步是进入设置 App -> 通用 -> 关于本机 -> 证书信任设置,并打开 “Enable full trust for root certificates”(对根证书启用完全信任)。

2. 开始调试 Unsplash
好了,配置已经够多了。现在终于可以看看 Unsplash 应用发出的 HTTP 请求/响应了。
配置好代理后,我们现在就能看到 iPhone 上的所有请求了。

2.1/ 搜索并固定域名
首先,使用 Command+Shift+F 搜索 Unsplash 应用(也可以使用搜索栏搜索应用)。
然后右键点击并选择 Pin。这是 Proxyman 很实用的功能之一:可以把特定域名拖放到 Pin 区域。域名一旦被固定,Proxyman 也会自动为该域名启用 SSL Proxying。

2.2/ 查看解密后的 HTTPS 内容
再次发出请求,即可看到明文显示的 HTTPS 请求/响应。

补充:使用编辑工具打开内容
右上角有一个小按钮。点击后会列出你 macOS 上已安装的编辑类应用。

你还可以像使用熟悉的编辑器一样,轻松使用其他内置功能,例如在 Body 内容中搜索、搜索并替换……

适用于当前 iOS 版本的实用提示
请确保 iPhone 和 Mac 连接同一个 Wi-Fi 网络,并在 iOS 请求时允许 “本地网络”(Local Network)访问。如果能看到 HTTP 请求但 HTTPS 内容仍然隐藏,请检查两个步骤:是否已安装 Proxyman 描述文件,以及是否已在证书信任设置中开启完全信任。公司 VPN 和某些 iCloud 专用代理(Private Relay)设置也可能导致手机无法连接 Mac 上的代理。
下一步
完成本教程后,你就可以使用 Proxyman for macOS 检查 iOS 设备的 HTTP/HTTPS 流量了。
如果想进一步学习,可以参考以下内容:
- 学习使用 Breakpoint 工具,实时修改数据。
- 学习使用 Map Local 提供模拟(Mock)响应。
- 使用 iOS 模拟器?
- ...
Proxyman 是一款高性能的 macOS 应用,可帮助开发者抓取并检查 iOS 设备、iOS 模拟器和 Android 设备上应用与域名的 HTTP(s) 流量。
