实时抓取移动设备上的通信包(ADVsock2pipe+Wireshark+nc+tcpdump)

目前移动设备上的应用的通信分析,HTTP层数据包可以使用web代理工具进行抓包改包,而底层的数据包要实时并可视化的分析(非实时的可以在设备上安装tcpdump抓包),除了用移动设备去连接PC提供的共享网络进行抓包外(《mobile app 通信分析方法小议》),还有一种新的方法,这种方法其实早就存在,主要是我wireshark太不熟悉了,误以为它只能通过网络接口(网卡啥的)抓包,实在太丢脸了。

下面要介绍的方法的核心原理,就是开辟一条PC与移动设备的通信管道,然后在PC上,让wireshark基于管道(PIPE)抓包

一、测试设备
PC(windows系统)

itouch 4g(iOS系统,Android系统都可以,但需要越狱或root)

二、工具
(1)PC上
wireshark
(2)itouch上(可以从cydia中下载)
nc
tcpdump
(3)网络环境
PC与itouch处于同一局域网
PC ip 10.0.0.23

itouch ip 10.0.0. 24

三、抓包步骤

第一步:在PC上运行ADVsock2pipe,输入如下命令

ADVsock2pipe.exe -pipe=wireshark -port 2134 

实时抓取移动设备上的通信包(ADVsock2pipe+Wireshark+nc+tcpdump)

第二步:在PC上运行wireshark,设置caption-Options

实时抓取移动设备上的通信包(ADVsock2pipe+Wireshark+nc+tcpdump)

实时抓取移动设备上的通信包(ADVsock2pipe+Wireshark+nc+tcpdump)

第三步:在移动设备itouch上,打开终端输入以下命令

由于移动设备输入太不方便了,我是在PC上SSH登录到移动设备上进行操作的 

danimato-iPod:~ root# tcpdump -nn -w - -U -s 0 "not port 2134" | nc 10.0.0.23 2134 tcpdump: listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
第四步:在移动设备上运行想要抓包分析的应用,即可在PC上实时的用wireshark观察数据包发送情况了

实时抓取移动设备上的通信包(ADVsock2pipe+Wireshark+nc+tcpdump)

接下来打算研究一下即可抓移动设备的通信包,也可以进行FUZZ测试的方法。如果有好的移动应用通信包分析方法,可以联系我,共同讨论。
参考:

http://wiki.wireshark.org/CaptureSetup/Pipes