iPhone 上怎么抓 App 的网络请求,在 iOS 设备上捕获网络请求

0 阅读4分钟

在 iOS 调试中,经常需要确认 App 实际发送了什么网络请求,例如:

  • 登录接口传了哪些参数
  • 客户端是否请求了正确的 API
  • 服务端返回的数据结构是什么

要做到这一点,需要先让 App 的网络流量进入可观察的地方。 下面按照实际操作顺序,从最容易建立的抓包流程开始。


一、先确认网络请求确实存在

在准备抓包工具之前,可以先验证一件事:

  1. 打开目标 App
  2. 进入触发网络请求的页面
  3. 关闭手机网络
  4. 再次触发同一操作

如果界面出现加载失败或提示网络错误,说明该操作确实会发起网络请求。

接下来再建立抓包环境。


二、通过代理方式抓取 App 请求

最常见的方式是通过 Wi-Fi 代理抓包。

可以使用的工具包括:

  • Charles
  • Proxyman
  • SniffMaster 的 HTTPS 代理模式

代理抓包的原理是,App 请求先发送到代理,再由代理转发给服务器。

因此代理工具可以看到完整请求。


配置代理环境

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

  1. 启动代理工具
  2. 确认监听端口(例如 8888)
  3. 让 iPhone 与电脑连接同一 Wi-Fi
  4. 打开 iPhone 的 Wi-Fi 设置
  5. 点击当前网络
  6. 在“HTTP 代理”中选择“手动”
  7. 输入电脑 IP 与端口

保存后返回主界面。


安装代理证书

如果目标接口使用 HTTPS,还需要安装证书。

操作步骤:

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

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


验证代理是否生效

打开 Safari 访问一个 HTTPS 网站。

如果代理工具中出现请求,并且可以查看响应内容,说明代理链路已经建立。

接下来可以测试目标 App。


三、观察 App 的请求记录

打开 App,触发网络请求。

在代理工具中查看是否出现相关记录。

如果请求出现,可以:

  • 查看 URL
  • 查看 Header
  • 查看请求体与响应体

如果没有出现请求,说明该 App 可能没有走系统代理。


四、当 App 不走代理时

部分 App 会绕过系统代理。

在这种情况下,代理工具不会看到任何请求。

此时可以换一种抓包方式,设备直连抓包。


五、通过 USB 抓取 iPhone 的网络数据

SniffMaster 提供了设备直连抓包能力,可以直接读取 iOS 设备的网络流量。

操作步骤:

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

完成后,触发 App 请求即可看到网络记录。 暴力抓包


六、筛选目标 App 的流量

设备级抓包会包含系统网络数据,例如:

  • DNS 请求
  • 系统服务通信

为了定位目标 App,可以使用 SniffMaster 的 App 筛选功能

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

抓包列表会只显示对应 App 的请求。 筛选app


七、当请求体无法显示

如果抓包结果中:

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

说明 App 没有使用开发证书签名。

解决方式:

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

完成后可以查看完整数据。


八、在需要修改请求时

如果调试目标是修改请求参数,例如:

  • 修改登录参数
  • 重定向接口地址

需要使用代理模式。

在 SniffMaster 的 HTTPS 代理抓包模式 中,可以通过拦截器脚本自动修改请求。

设备级抓包模式只用于观察数据,不提供请求修改功能。 拦截器


建立一个稳定的抓包流程

在 iPhone 上抓 App 请求时,可以按以下顺序操作:

  1. 代理抓包验证流程
  2. 测试目标 App
  3. 如果代理失败,切换设备级抓包
  4. 根据需要筛选 App 或导出数据分析

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