在 Windows 上抓 iOS 设备的包,核心问题是:
- 数据准备从哪一部分获取
- 目标是查看 HTTPS 内容,还是分析 TCP 行为
- 是否需要修改请求
不同目标,对应不同抓包方式。
一、方式一,代理抓包(适合查看与修改 HTTPS)
这一方式依赖 Wi-Fi 代理。
1. 准备 Windows 代理环境
可以使用:
- Charles(Windows 版)
- Fiddler
- SniffMaster 的 HTTPS 代理模式
操作步骤一致:
- 启动代理工具
- 确认监听端口(如 8888)
- 关闭系统防火墙对端口的拦截
2. 在 iOS 上配置代理
- iPhone 与 Windows 连接同一 Wi-Fi
- 打开 Wi-Fi 设置
- 进入当前网络
- 代理选择“手动”
- 填写 Windows 电脑 IP 和端口
保存后返回主界面。
3. 安装并信任证书
打开 Safari:
- 访问代理工具提供的证书下载地址
- 安装描述文件
- 在“证书信任设置”中手动开启信任
验证方式:
- 用 Safari 访问 https 网站
- 在代理工具中查看请求是否解密成功
4. 测试目标 App
打开 App 并触发请求。
如果请求出现在代理工具中:
- 可以查看 HTTPS 内容
- 可以使用 Rewrite 或拦截器修改请求
如果没有出现请求,需要确认:
- App 是否走系统代理
- 是否存在 SSL Pinning
二、路径二:设备本机抓包(不依赖 Wi-Fi 代理)
当代理抓不到 App 请求时,可以切换到 USB 抓包方式。
使用 SniffMaster 在 Windows 上抓 iOS 设备流量
SniffMaster 支持通过 USB 抓取 iOS 设备的网络数据。
操作步骤如下:
- 用 USB 将 iPhone 连接 Windows 电脑
- 保持设备解锁
- 在手机上点击“信任此电脑”
- 启动 SniffMaster
- 在设备列表中选择对应 iPhone
- 按提示安装 iOS 驱动
- 安装描述文件
- 进入 HTTPS 暴力抓包或数据流抓包模式
- 点击开始
这一模式不依赖 Wi-Fi 代理。
验证抓包是否生效
触发 App 请求后,可以观察:
- 是否出现请求记录
- 是否能看到 URL
- 是否能查看响应内容
如果 App 启用了证书校验,代理模式可能失败,但设备本机抓包仍然可以看到数据。
当数据体为空
如果只能看到 Header 与 URL,而 Body 为空:
- 说明 App 未使用开发证书签名
- 需要对 IPA 进行重签
操作路径:
- 获取 IPA
- 使用 iOS 开发证书重新签名
- 重新安装
- 再次抓包
完成后即可查看完整内容。
三、路径三:TCP 数据流抓包(适合网络异常分析)
当问题涉及:
- 连接超时
- 频繁重传
- 自定义协议
HTTPS 抓包并不足够。
可以使用:
- SniffMaster 的数据流抓包模式
- 导出数据到 Wireshark
数据流抓包步骤
- 连接 iOS 设备
- 进入数据流抓包模式
- 启动抓包
- 触发目标操作
- 筛选目标 App
- 导出为 Wireshark 格式
在 Wireshark 中分析
打开导出的文件后,可以查看:
- TCP 三次握手
- 重传情况
- 窗口变化
- 断开原因
这一层不涉及证书问题。
选择顺序
在 Windows 上抓 iOS 包时,可以按顺序尝试:
- 代理抓包(验证最常见路径)
- 设备本机抓包(处理证书校验)
- 数据流抓包(分析底层连接)