用RVI方法,对iOS进行抓包

用RVI方法,对iOS进行抓包

一、创建远程虚拟接口Remote Virtual Interface(RVI)

该方法适用于iOS 5.0以上设备,需要Mac并且安装Xcode。

1.将iOS设备通过USB连接到Mac上;

2.通过iTools等工具获取iOS设备的UDID;

3.打开终端terminal,建立RVI:

#获取当前的接口列表
$ ifconfig -l
lo0 gif0 stf0 en0 en1 en2 bridge0 p2p0 awdl0
#然后以设备的UDID运行工具
$ rvictl -s UDID
Starting device UDID [SUCCEEDED] with interface rvi0 
#再次获取接口列表,会看到有新的虚拟接口rvi0
$ ifconfig -l
lo0 gif0 stf0 en0 en1 en2 bridge0 p2p0 awdl0 rvi0

rvi0就是Remote Virtual Interface,意味着在Mac上虚拟了一个iOS设备接口rvi0。

二、通过tcpdump抓包

1.运行tcpdump:

$ sudo tcpdump -i rvi0 -w dump.pcap

参量的意义:-i rvi0 选择需要抓取的接口为rvi0(远程虚拟接口)
-w dump.pcap 设置保存的文件名称;

2.在iOS设备的App上进行操作;

3.结束操作之后,在terminal上ctrl+c终止tcpdump;

4.这个时候可以删除RVI:

$ rvictl -x UDID

三、处理tcpdump的抓包数据

使用tcprewrite将tcpdump抓包后的数据转换为可视化抓包工具可以解析的数据
1.通过HomeBrew安装tcprewrite:

$ brew install tcpreplay

2.将原始数据包转换为以太网数据包
tcprewrite重写第二层以太网层:

$ tcprewrite --dlt=enet --enet-dmac=00:11:22:33:44:55 --enet-smac=66:77:88:99:AA:BB --infile=dump.pcap --outfile=dumpFileFinal.pcap

或者tcprewrite重写第四层TCP、UDP层:

$ tcprewrite --portmap=80:8080,22:8022 --infile=dump.pcap --outfile=dumpFileFinal.pcap

3.用可视化抓包工具打开dumpFileFinal.pcap文件,比如Charles。然后就可以进行包分析、查看统计流量等等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值