iOS上抓包的一种方法

Apple在iOS5.0以上增加了RVI(Remote Virtual Interface),打开它非常简单,只需要把iOS设备通过usb连接到Mac上,然后打开“终端”,输入

rvictl -s [Your Device's UDID]

然后在终端上会显示

Starting device ********** [SUCCEEDED]

字样

如果这一步产生了什么错误的话,可能是没有安装XCode或者UDID输入错误

接下来在终端可以使用

ifconfig -l

查看当前Mac上的接口,比如(不同Mac可能会有差异):

lo0 gif0 en0 en1 fw0 rvi0

其中rvi0就是Remote Virtual Interface,这也就意味着在你的Mac上虚拟了一个iOS设备接口,接下来就是通过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即可

接下来就可以用wireshark等工具分析dump.pcap文件了

转自:http://www.th7.cn/Program/IOS/201303/130285.shtml

相关推荐