目前移动设备上的应用的通信分析,HTTP层数据包可以使用web代理工具进行抓包改包,而底层的数据包要实时并可视化的分析(非实时的可以在设备上安装tcpdump抓包),除了用移动设备去连接PC提供的共享网络进行抓包外(《mobile app 通信分析方法小议》),还有一种新的方法,这种方法其实早就存在,主要是我wireshark太不熟悉了,误以为它只能通过网络接口(网卡啥的)抓包,实在太丢脸了。
下面要介绍的方法的核心原理,就是开辟一条PC与移动设备的通信管道,然后在PC上,让wireshark基于管道(PIPE)抓包。
itouch 4g(iOS系统,Android系统都可以,但需要越狱或root)
itouch ip 10.0.0. 24
第一步:在PC上运行ADVsock2pipe,输入如下命令
ADVsock2pipe.exe -pipe=wireshark -port 2134
第二步:在PC上运行wireshark,设置caption-Options
第三步:在移动设备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
http://wiki.wireshark.org/CaptureSetup/Pipes