Ios抓取移动网络数据包
通常情况下iOS设备抓包有三种方式:一种越狱后安装tcpdump程序进行抓包,第二种是通过设置代理服务抓包,第三种通过WIFI热点抓包。以上方式都有自己的局限性,第一种方法需要越狱后安装一系列软件,第二种方法需要设置代理服务器同时也不能抓到移动网络的数据包,第三种无法抓取移动网络的数据包。现在讨论下第四种抓包方式。
其实苹果已经提供更加简单直接的抓包方式,通过rvictl命令。
iOS 5后,apple引入了RVI remote
virtual interface的特性,它只需要将iOS设备使用USB数据线连接到mac上,然后使用rvictl工具以iOS设备的UDID为参数在Mac中建立一个虚拟网络接口rvi,就可以在mac设备上使用tcpdump,wireshark等工具对创建的接口进行抓包分析了
下面一起看下rvictl具体怎么使用
首先ios设备通过数据线连接到mac,打开mac终端
首次在Mac终端输入rvictl命令通常会遇到下面的情况
这是因为rvictl命令是xcode工具的一部分,需要安装xcode工具
安装xcode后再次输入rvictl命令展示如上图,其中udid就是ios设备的设备号,-s代表开始建立设备虚拟网络
获取设备udid的几种方法
ioreg -w 0 -rcIOUSBDevice -k SupportsIPhoneOS | sed -n's/.*USB SerialNumber[^0-9a-z]*\([0-9a-z]*\).*/\1/p'
system_profiler
SPUSBDataType | grep"Serial Number:.*"| sed s#".*Serial Number: "##
执行rvictl –s命令后通过ifconfig查看网卡情况
rvictl –s命令会新建一个虚拟网卡rvi0
这个rvi0网卡就是ios设备在Mac上的网络映射,通过抓取rvi0的数据包就可以抓取到ios上的网络数据包
再次回顾下rvictl命令的原理,将iOS设备使用USB数据线连接到mac上,然后使用rvictl工具以iOS设备的UDID为参数在Mac中建立一个虚拟网络接口rvi,就可以在mac设备上使用tcpdump,wireshark等工具对创建的接口进行抓包。
网友评论