浅谈使用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文件了。


浅谈使用tcpdump、wireshark对Android应用程序进行抓包并分析_第1张图片


使用过滤器filter


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


浅谈使用tcpdump、wireshark对Android应用程序进行抓包并分析_第2张图片


右键记录查看tcp stream


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


浅谈使用tcpdump、wireshark对Android应用程序进行抓包并分析_第3张图片


还有我觉得更厉害的功能


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


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


浅谈使用tcpdump、wireshark对Android应用程序进行抓包并分析_第4张图片


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


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


浅谈使用tcpdump、wireshark对Android应用程序进行抓包并分析_第5张图片


最后总结下


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


你可能感兴趣的:(浅谈使用tcpdump、wireshark对Android应用程序进行抓包并分析)