首页 > 代码库 > 浅谈使用tcpdump、wireshark对Android应用程序进行抓包并分析

浅谈使用tcpdump、wireshark对Android应用程序进行抓包并分析

本文主要介绍如何使用tcpdump和wireshark对Android应用程序进行抓包并分析,需要说明的是在抓包之前,你的Android设备必须root过了,另外你的电脑必须有Android SDK环境。

 

下载并安装tcpdump

 

tcpdump链接:http://www.ijiami.cn/

 

选择一个版本下载并解压提取出其中呃tcpdump文件,然后push到你的手机上去:

 

adb push c:\tcpdump /data/local/tcpdump

进一步操作:

 

adb shell

su

chmod +x /data/local/tcpdump

然后就可以开始抓包了:

 

/data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap

这时你可以操作应用程序相应的操作了,抓包完毕后ctrl+c停止抓包。

 

然后将抓到pcap文件传输本地开始进行分析了,这里假设你pull到c盘目录下。

 

adb pull /sdcard/capture.pcap c:/

使用wireshark分析抓包数据

 

pc上安装wireshark

 

wireshark下载:http://www.ijiami.cn/treg

 

如果安装完毕,就可以直接打刚才的pcap文件了。

 

 

使用过滤器filter

 

如果抓到的东西过多,可以使用上方的过滤器,比如我只看http协议,并且是由我设备发出的

 

 

右键记录查看tcp stream

 

这个功能我比较喜欢,可以查看此次http,client端请求和server端返回的数据

 

 

还有我觉得更厉害的功能

 

可以把请求的内容和结果存储下来,比如可以查看post的内容

 

这是在面板看到的具体的tcp/ip各层的内容

 

 

但是这种编码之后,并且以字节流发出去的东西很让人讨厌,利用存储可能,你就可以看到具体的结果了:

 

选择File->Export Objects->HTTP,导出这条记录就可以啦。

 

 

最后总结下

 

这是我最近在工作中实际用得到的,但在实际操作tcpdump和wireshark的时候,有更多功能、技巧可以挖掘出来,这篇文章算是对从来没有用过这两个工具的人的一个入门介绍吧。

浅谈使用tcpdump、wireshark对Android应用程序进行抓包并分析