网上也有不少苹果设备抓包方法,但要么越狱要么复杂到自己看不下去,现将自己所用的两种简单方法总结如下:
方法1:Mac OS端使用tcpdump
在Mac端使用tcpdump抓取苹果设备的包,首先保证tcpdump已安装,安装方法可参考:mac安装tcpdump
打开苹果设备的网口,方可进行抓包。首先获取设备的UDID,UDID可通过Xcode获取(Cmd+Shift+2调出),如下图:
终端输入:rvictl -s UDID 打开苹果设备的网口以方便抓包。rvi即remote virtual interface。若开启成功,则如下图:
rvi0即为已成功打开的上述苹果设备的网口,供tcpdump命令使用。
tcpdump抓包:tcpdump -i rvi0 -c 100 -w /Users/***/test.pcap -vv,若无路径错误或参数错误,则如下图:
参数解释:
-i:要抓取哪个网口的数据包
-c:要抓取多少个数据包
-w:文件存放路径(可方便的存于U盘,若你的Mac未装WireShark等包分析软件,可直接取出放于Windows分析)
-vv:过程详情,即当前已抓取多少个数据包
更多tcpdump命令可参考:tcpdump命令详解
至此,Mac OS端tcpdump抓包过程完毕,使用WireShark或其他工具打开即可分析所需数据包。
方法2:Mac OS端使用WireShark抓包
该方法没什么说的,但是WireShark依赖于XQuartz,下载XQuartz和Mac版的WireShark,先安装XQuartz,再安装WireShark即可。当然rvictl命令打开设备网口还是必须的。只是我在第一次使用WireShark抓包时界面很怪异,源地址、目标地址、协议等字段全是空白,原来是需要配置的,如下图:
配置完毕后就可跟Windows端一样使用WireShark了。
总结:苹果设备抓包必备软件 XCode、XQuartz、WireShark、tcpdump