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

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

一、测试设备

PC(windows系统)

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

二、工具

(1)PC上

wireshark

ADVsock2pipe

(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测试的方法。如果有好的移动应用通信包分析方法,可以联系我,共同讨论。

Gmail:danqingdani@gmail.com

参考:

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

转自:http://www.freebuf.com/articles/wireless/6517.html

原文吐槽:

kbc0ld 2012-12-20

PC开个无线共享WIFI,抓鸡连接,然后直接wireshark监听那张网卡即可

xiaoyao9933 2012-12-20

难道不可以直接用笔记本的connetify假设无线路由,让移动设备连上,让wireshark抓本地网卡的流量包?

碳基体   (5级) 淘米网产品安全工程师 2012-12-20

上面两位说的都是用PC共享网络,然后移动设备连接,再抓包。这种方法在我的博客中提到过:mobile app 通信分析方法小议(iOS/Android)。 写这篇文章的目的是介绍一种新的方法。

chenyoufu123 2012-12-20

移动应用分析除了底层是基于802.11之类的上层的分析应该和目前pc上的分析是一样的啊。

楼主可以自己搭建一个低速实时通信包分析平台,libpcap + libnids + L7 protocol deep analysis。根据我的实验观测,速度达到100Mbps是没有问题的。

如果楼主对更高速率的实时L2 – L7层分析感兴趣,比如速度达到1Gbps 或者 10Gbps,可以联系我共同讨论。

salmon5 2012-12-20

无线设备连接 无线路由或者AP,PC用ralink_usb2870芯片网卡抓包,decode 802.11abgn协议,这样很具有通用性。博主方法类似cisco span over ip,思路很好,但不具有通用性。

toor   (1级)  2012-12-20

拿手机来说,存在很多中网络通信的可能

GSM

GPRS

TD

WCDMA

CDMA2000

还有

wifi

如果一个应用仅仅是用wifi网络,那么我觉得模拟器上跑,抓包都可以,和真实的应该没啥区别。

如果是用到移动蜂窝网络,要抓这些协议包。

不知道是不是只能在手机本身上抓了。

对移动技术不了接,包括各种网络直接的层级,以及关系。

求大侠赐教。最简单的说,怎么抓gsm包吧,呵呵。

kenwing   (1级)  2012-12-21

@toor

难道要准备一个基站?

dolofish   (1级) 某小白,某路人 2012-12-21

ssh到iphone上 tcpdump抓包 用了好久了 非常好用