最新消息:相关的技术文章和资料收集整理,感谢大家支持。

iOS APP网络分析之rvictl(解决wireshark抓包显示错误的问题)

iOS平台 djwangping 29216浏览

1. 抓包设置方法

iOS 5后,apple引入了RVI remote virtual interface的特性,它只需要将iOS设备使用USB数据线连接到mac上,然后使用rvictl工具以iOS设备的UDID为参数在Mac中建立一个虚拟网络接口rvi,就可以在mac设备上使用tcpdump,wireshark等工具对创建的接口进行抓包分析了。

具体步骤如下:

第一步:使用USB数据线将iOS设备连接到MAC上
第二步:获得iOS设备的UDID,可以使用iTools查看,也可以使用Xcode的Organizer工具查看
                 udid
第三步:创建RVI接口
                $ rvictl -s UDID
                RVI虚拟接口的命令规则可为rvi0,rvi1
                创建后可以使用以下命令查看是否创建成功
                $ ifconfig rvi0
第四步:在mac上用抓包工具wireshark或tcpdump等工具抓包分析
第五步:分析结束后,移除创建的RVI接口

                $ rvictl <UDID>

2. 解决wireshark抓包显示错误(系统:OS X 10.9.2   wireshark版本:1.10.6)

打开wireshark选择rvi0开始抓包后,发现显示错误如下图:

bug1

解决方法:

  1. 依次选择Wireshark菜单,Edit->Preferences->Protocols->DLT_USER

如图:

ans1

2.  设置DLT_USER参数,选择DLT=149 ,Payload protocol:eth, Header size:108. 详细见下图

sss

【转载请加入本文链接】

参考:http://ask.wireshark.org/questions/26524/mavericks-can-not-capture-from-iphone-using-rvi

转载请注明:Mibugs.com » iOS APP网络分析之rvictl(解决wireshark抓包显示错误的问题)