iOS 抓包工具大多是 Mac 优先——Charles 和 Proxyman 的配置教程默认都是 Mac 环境,Wireshark 抓 iOS 流量也需要 Mac 上的 rvictl 命令。如果手上只有 Windows 电脑,抓 iPhone 的包是不是就没法做了?其实在 Windows 上也有方案能搞定。
Windows 上抓 iOS 包的主要限制在于 Apple 的通信协议。iOS 设备通过 USB 连接电脑时,使用 Apple Mobile Device 服务进行通信。Windows 上安装 iTunes 时会附带这个驱动,但抓包工具要读取 iOS 的网络数据,不是所有工具都支持。
Charles 在 Windows 上可以做代理抓包——手机设代理走 Windows 电脑的 Charles,能抓到 HTTP 和 HTTPS 请求。代理模式的问题是需要设备和电脑在同一个局域网、要配置 Wi-Fi 代理、还要安装和信任 CA 证书。遇到 SSL Pinning 就会失效。
Wireshark 在 Windows 上没法通过 rvictl 抓 iOS 流量——rvictl 是 macOS 独有的命令。Windows 上 Wireshark 只能抓取电脑本身的流量。
SniffMaster 是少数在 Windows 上能直接抓取 iOS 设备网络数据的工具。提供三种模式覆盖不同的抓包需求。
代理抓包和 Charles 类似。SniffMaster 在 Windows 上第一次启动时可能需要以管理员身份运行。右键 SniffMaster 选"以管理员身份运行",确保代理能正常监听端口。iOS 设备连接后,按照提示在手机上安装描述文件、信任证书、配置 Wi-Fi 代理。然后选择 HTTPS 代理抓包开始。SniffMaster 的证书安装有操作引导,每一步都有提示,比 Charles 少一些配置上的折腾。
暴力抓包是 SniffMaster 的特色,Windows 上也能用。iOS 设备通过 USB 线连到 Windows 电脑,打开 SniffMaster 选择设备,功能区选 HTTPS 暴力抓包。不需要配置 Wi-Fi 代理、不需要装证书。Windows 会提示安装 iOS 驱动——第一次使用时按照软件提示点击确定并完成驱动安装,重启抓包大师后就能识别设备。iOS 17.4 以上的设备需要在设置中开启开发者模式。
暴力抓包模式下,用开发证书签名的应用能看到完整的请求体和响应体。App Store 下载的应用只能看到请求头和地址。但 SSL Pinning 和双向证书验证在暴力抓包下不起作用。
数据流抓包能捕获 iOS 设备的 TCP/UDP 数据流,支持多种格式查看数据内容。抓到的数据可以导出为 pcap 格式。
只用代理抓包的话,Charles 在 Windows 上也能用,配证书流程稍微复杂些。需要暴力抓包或者数据流抓包的话,SniffMaster 是 Windows 上少数可行的选择。Windows 上抓 iOS 包的核心准备工作是装好 iTunes 驱动、准备一根能传数据的 USB 线和关掉可能冲突的 VPN,其他的按工具提示操作就行。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70047439/viewspace-3175550/ ,如需转载,请注明出处,否则将追究法律责任。