iOS抓包

安装RVI

1 获取UDID。
2 安装RVI,需要使用rvictl工具,以下步骤在mac的终端中操作。(如果找不到rvictl命令,则通过以下链接下载对应版本的command tools for xcode:Downloads for Apple Developers)

$ # First get the current list of interfaces.
$ ifconfig -l
lo0 gif0 stf0 en0 en1 p2p0 fw0 ppp0 utun0
$ # Then run the tool with the UDID of the device.

$ rvictl -s 74bd53c647548234ddcef0ee3abee616005051ed
Starting device 74bd53c647548234ddcef0ee3abee616005051ed             [SUCCEEDED]

$ # Get the list of interfaces again, and you can see the new virtual
$ # network interface, rvi0, added by the previous command.
$ ifconfig -l
lo0 gif0 stf0 en0 en1 p2p0 fw0 ppp0 utun0 rvi0

抓包

安装成功后,此时其实可以用任何抓包工具来抓取。包括wireshark等。因为这时就会看到一个rvi0的网卡。

通过tcpdump来搞。

在终端中输入如下命令:

sudo tcpdump -i rvi0 -n -s 0 -w dump.pcap tcp

解释一下上面重要参数的含义:

  • -i rvi0 选择需要抓取的接口为rvi0(远程虚拟接口)

  • -s 0 抓取全部数据包

  • -w dump.pcap 设置保存的文件名称

  • tcp 只抓取tcp包

当tcpdump运行之后,你可以在iOS设备上开始浏览你想抓取的App,期间产生的数据包均会保存到dump.pcap文件中,当想结束抓取时直接终止tcpdump即可。然后在mac中找到dump.pcap文件。用wireshark打开就ok。

通过wireshark来抓包

cd到 /Applications/Wiresshark.app/Contents/MacOS/
sudo wireshark
打开wireshark抓包,过滤到相应的数据后,右键选择“Follow TCP Stream”

结束抓包

去掉RVI这个虚拟网卡,使用下面的命令:

$ rvictl -x 74bd53c647548234ddcef0ee3abee616005051ed

Stopping device 74bd53c647548234ddcef0ee3abee616005051ed [SUCCEEDED]

Technical Q&A QA1176
tcpdump的使用,包括http抓包
Mac OS X上使用Wireshark抓包

你可能感兴趣的:(iOS抓包)