在 iOS 开发中,抓到请求只是第一步,更实际其实是比如
- 想确认某个字段到底有没有发出去
- 想复现线上问题
- 想观察 App 在异常网络下的行为
这时候抓包就不只看有没有数据,而是抓出来的数据是否完整、是否可控、是否可复现
场景一:接口参数到底发了什么
一个常见问题是:
- 客户端代码看起来没问题
- 服务端收到的数据却不符合预期
用代理抓包验证
使用 Charles、Proxyman 或 Sniffmaster:
- 启动工具
- 配置 iPhone Wi-Fi 代理
- 安装证书并信任
- 触发请求
观察如果请求能看到:
- URL
- Header
- Body
说明请求经过代理。
注意,如果请求完全没有出现就说明 App 没走代理
场景二:请求存在,但代理抓不到
这种情况在 SDK 或某些网络库中会出现。
切换抓包方式
使用 SniffMaster(抓包大师) 进行数据线直连iPhone来抓包。
操作步骤
- 用 USB 连接 iPhone
- 保持设备解锁
- 点击“信任此电脑”
- 启动 SniffMaster
- 选择设备
- 安装描述文件
- 进入 HTTPS 暴力抓包模式
- 点击开始

观察结果可以直接看到:
- 请求域名
- 请求路径
- Header
说明请求确实存在,只是绕过了代理。
场景三:参数存在,但 Body 看不到
在 SniffMaster 中,有时会出现:
- URL 正常
- Header 正常
- Body 为空
验证的方法就是查看数据字段:
- IsBase64Body
- Content-Length
可能原因的App 未使用开发证书签名
处理步骤
- 获取 IPA
- 使用开发证书签名
- 重新安装
- 再抓包
变化
重新抓包后:
- Body 可见
- Response 可解析
场景四:只想看某一个接口
当抓包数据很多时,需要快速定位。
在 SniffMaster 中筛选
- 点击 选择 App
- 勾选当前开发 App
- 再触发请求

再加一层过滤
使用 URL 关键字:
/api/login
只显示相关请求。

场景六:分析网络异常
例如:
- 请求超时
- 数据断开
操作路径
- 使用 SniffMaster 抓取数据流
- 导出为 pcap
- 用 Wireshark 打开

可以看到
- TCP 建连
- 数据传输
- 断开原因
这里与 HTTPS 无关。
| 工具 | 作用 |
|---|---|
| Charles / Proxyman | 修改请求、调试接口 |
| SniffMaster | 获取真实设备流量 |
| Wireshark | 分析网络连接 |
组合使用比单一工具更稳定。