iOS 抓取网络数据包

提供一种不需要配置代理直接抓取iPhone设备网络数据包的方式,是分析网络问题的有效手段。

一. 获取iOS设备的UDID

iOS设备连接到Mac之后,打开iTunes,在设备信息面板的电话号码(Phone Number)下方的文字上点击,出现UDID字样后右键copy即可复制UDID。

二. 安装rvictl工具

在macOS命令行执行:

rvictl -s UDID

如未找到rvictl,则需要安装xcode command line tools工具。 该命令成功执行则提示如下:

Starting device UDID [SUCCEEDED] with interface rvi0

此时在macOS上新建了名称为rvi0的虚拟网卡,执行以下命令关闭rvictl:

rvictl -x UDID

三. 抓包分析

可以使用tcpdump,Wireshark等工具,选择rvi0网卡抓包即可获取连接的iOS设备的网络数据包。

其它文章

iOS NSURLProtocol详解及使用陷阱
iOS Asset Catalog and Bundle
iOS Appium自动化测试框架原理简析
iOS 13 Scene Delegate and multiple windows
iOS Sign With Apple实践