iOS App HTTPS 抓包工具,代理抓包和数据线直连 iPhone 抓包的流程

0 阅读4分钟

在移动开发或接口调试中,最常见的需求之一就是查看 App 实际发送的 HTTPS 请求。

例如:

  • 登录接口参数是否正确
  • 客户端请求了哪个 API 地址
  • 服务器返回的数据结构是否符合预期

要解决这些问题,需要先把 HTTPS 请求抓出来。

在 iOS 环境中,可以通过不同方向的抓包工具完成这件事。


一、先建立一个最基础的 HTTPS 抓包环境

在多数情况下,开发者会先使用代理抓包工具,例如:

  • Charles
  • Proxyman
  • Fiddler
  • Sniffmaster

这些工具的工作方式是相同的,把 iPhone 的请求先发送到代理工具,再由代理转发到服务器。

因此代理工具可以记录 HTTPS 请求。


配置代理抓包环境

准备一台电脑(Mac 或 Windows),然后执行以下步骤:

  1. 启动 Charles 或 Proxyman
  2. 查看代理监听端口,例如 8888
  3. 让 iPhone 与电脑连接同一 Wi-Fi
  4. 打开 iPhone 设置 → Wi-Fi
  5. 点击当前网络
  6. 在 HTTP 代理中选择 手动
  7. 输入电脑 IP 和端口

保存设置。 配置代理


安装 HTTPS 证书

由于 App 请求使用 HTTPS,还需要安装代理证书。

操作步骤:

  1. 在 iPhone Safari 中访问代理工具提供的证书下载地址
  2. 下载描述文件
  3. 安装证书
  4. 在 iOS 设置中开启证书信任

完成后,代理工具即可解密 HTTPS 数据。


验证 HTTPS 是否能抓到

打开 Safari 访问任意 HTTPS 网站。

如果代理工具中出现请求,并且可以查看响应内容,说明代理抓包已经成功。

接下来可以打开目标 App。


二、抓取 App 的 HTTPS 请求

在代理环境已经建立的情况下,打开 App 并触发网络操作,例如:

  • 登录
  • 加载列表
  • 刷新数据

如果代理工具中出现新的请求记录,就可以查看:

  • 请求 URL
  • 请求 Header
  • 请求体
  • 响应体

对于普通 App,这一步已经可以满足大部分调试需求。


三、代理抓不到请求时

在某些情况下,会出现这样的现象:

  • Safari 请求可以抓到
  • App 请求没有出现在代理工具中

这说明 App 的网络请求没有走系统代理。

继续调整证书或端口不会改变结果。

此时需要使用另一类抓包工具。


四、使用数据线直连 iPhone 抓包 HTTPS 抓包工具

数据线直连 iPhone 抓包不依赖 Wi-Fi 代理,而是直接从设备侧读取网络数据。

在这种场景下,可以使用 SniffMaster(抓包大师)


使用 SniffMaster 抓取 iOS HTTPS 请求

操作步骤如下:

  1. 使用 USB 将 iPhone 连接电脑
  2. 保持设备解锁
  3. 在手机上点击 信任此电脑
  4. 启动 SniffMaster
  5. 在设备列表中选择 iPhone
  6. 按提示安装 iOS 驱动
  7. 安装描述文件
  8. 进入 HTTPS 暴力抓包模式
  9. 点击开始

然后在手机上触发 App 请求。

抓包界面会出现对应的 HTTPS 请求。 暴力抓包


只查看某个 App 的流量

数据线直连 iPhone 抓包会包含系统网络数据,例如:

  • DNS 请求
  • 系统服务连接

为了更容易定位目标 App,可以使用 SniffMaster 的 选择 App 功能

  1. 点击“选择 App”
  2. 勾选目标应用
  3. 再触发网络请求

抓包列表会只显示该应用的网络数据。 选择app


五、当 HTTPS 请求体无法显示

有时抓包结果中会出现:

  • URL 可见
  • Header 可见
  • 请求体为空

这通常与 App 的签名有关。

如果需要查看完整请求体,可以:

  1. 获取 App 的 IPA 文件
  2. 使用 iOS 开发证书重新签名
  3. 重新安装 App
  4. 再次抓包

完成后,请求体与响应体可以正常显示。


六、什么时候需要修改请求

在某些调试场景中,需要修改请求参数,例如:

  • 修改接口参数
  • 重定向 API 地址
  • 模拟服务器返回

这种操作只能在 代理模式 下完成。

Charles、Proxyman 和 SniffMaster 的 HTTPS 代理抓包模式都支持请求拦截与修改。

数据线直连 iPhone 抓包仅用于查看数据。 拦截器


七、不同抓包工具的场景

可以把几种抓包工具理解为位于不同网络位置:

工具抓包方式主要用途
Charles代理抓包查看和修改 HTTPS
Proxyman代理抓包查看 HTTPS
SniffMaster代理 + 数据线直连 iPhone 抓包抓包HTTPS 与数据流抓包
Wireshark网络层抓包TCP 分析

不同工具解决的问题不同。


常见的抓包流程

在实际调试中,可以按顺序使用这些工具:

  1. 先尝试代理抓包
  2. 如果代理抓不到请求,使用数据线直连 iPhone 抓包
  3. 如果需要分析网络连接问题,可以导出数据到 Wireshark

通过这种方式,可以覆盖大多数 iOS App HTTPS 抓包场景。

参考链接:www.sniffmaster.net/tutorial/zh…