本文章转载于搜狗测试
测试过程中,经常会使用抓包工具来抓取客户端与服务端通信的数据来进行分析。本文中,小编讲给大家介绍一种在iOS平台抓各种网络数据包的方法。
使用的工具
1.Wireshark:这个大家应该很熟悉了,抓包界的鼻祖,一款非常强大的分析网络通信数据的工具,撷取到的网络封包资料非常详细。
2.rvictl:iOS 5后,apple引入了RVI remote virtual interface的特性,它只需要将iOS设备使用USB数据线连接到mac上,然后使用rvictl工具(Xcode Command Line提供的)以iOS设备的UDID为参数在Mac中建立一个虚拟网络接口rvi,就可以在mac设备上使用tcpdump,wireshark等工具对创建的接口进行抓包分析了。
这种流量分析方法,是直接捕捉的iOS设备上的网络流量,因此无论是wifi还是2G/3G等其他网络类型都可以捕捉到,一根USB数据线就搞定了,不需要苛刻的要求PC与iOS设备处于同一个网段,或必须越狱等局限了。
操作步骤
第一步:使用USB数据线将iOS设备连接到MAC上。
第二步:获得iOS设备的UDID,这里提供两种方法:
1. 通过itunes查看,如下图所示:
2. 通过Xcode Device查看,如下图所示:
第三步:创建RVI接口:rvictl-s,创建完后,通过:rvictl-l查看是否创建成功,成功后如下图所示:
第四步:用wireshark捕捉这个端口的数据。启动wireshark,并选择网络接口,如图:
无论手机使用的是wifi还是2g、3g、4g,现在你在wireshark里都能实时看到数据了:
第五步:使用完之后断开连接:rvictl -x