通过tcpdump对iOS进行流量分析(无需越狱)

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

iOS上抓包的方法主要有:

1. Wifi共享,然后通过fiddler、charles等可视化抓包工具。可以设置mac进行wifi共享,或者使用360随身wifi等工具;

2. 设置wifi的HTTP代理,然后通过可视化抓包工具;

3. RVI方法;下面就介绍RVI方法,该方法适用于iOS5.0以上设备,需要mac并且安装Xcode。

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

2)通过itunes获取iOS设备的UDID;

3)打开终端terminal,建立RVI

$ # First get the current list of interfaces.

$ ifconfig -l

lo0 gif0 stf0 en0 en1 p2p0 fw0 ppp0 utun0

$ # Then run the tool with the UDID of the device.

$ rvictl -s 74bd53c647548234ddcef0ee3abee616005051ed

Starting device 74bd53c647548234ddcef0ee3abee616005051ed [SUCCEEDED]

$ # Get the list of interfaces again, and you can see the new virtual

$ # network interface, rvi0, added by the previous command.

$ ifconfig -l

lo0 gif0 stf0 en0 en1 p2p0 fw0 ppp0 utun0 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 74bd53c647548234ddcef0ee3abee616005051ed


三、处理tcpdump的抓包数据

1. 使用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。然后进行包分析、查看统计流量等等,或者导出为csv文件进行分析。


欢迎访问我的博客:www.dzwanli.com.cn


参考网址:

https://developer.apple.com/library/mac/qa/qa1176/_index.html#//apple_ref/doc/uid/DTS10001707-CH1-SECRVI

http://blog.manbolo.com/2013/02/22/analysing-ios-app-network-performances-on-cellularwifi

http://www.cnblogs.com/wupher/archive/2013/03/25/2980161.html



文/chichichichi(简书作者)
原文链接:http://www.jianshu.com/p/b062c1dc2f0e
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值