ios设备抓取移动网络数据包

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工具

ios设备抓取移动网络数据包_第1张图片

安装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: "##

ios设备抓取移动网络数据包_第2张图片

执行rvictl –s命令后通过ifconfig查看网卡情况



ios设备抓取移动网络数据包_第3张图片

rvictl –s命令会新建一个虚拟网卡rvi0

这个rvi0网卡就是ios设备在Mac上的网络映射,通过抓取rvi0的数据包就可以抓取到ios上的网络数据包


ios设备抓取移动网络数据包_第4张图片

再次回顾下rvictl命令的原理,将iOS设备使用USB数据线连接到mac上,然后使用rvictl工具以iOS设备的UDID为参数在Mac中建立一个虚拟网络接口rvi,就可以在mac设备上使用tcpdump,wireshark等工具对创建的接口进行抓包。

你可能感兴趣的:(ios设备抓取移动网络数据包)