在android下抓包,主要是为了分析应用请求的数据地址,从而进一步嗅探出重要的网络资源。下面来动手实践一下,如何抓取android系统的网络通信包。
软件名称:
环境要求:
将adb.zip解包,并将其目录配置到PC坏境变量中,目的只有一个,在cmd下,能够识别adb命令。
一台已经root的手机。如果没有,使用android模拟器即可(推荐模拟器)。
如果使用手机,确保操作过程中,数据线始终连接手机。
查看手机是否已经成功连接电脑
Win + R 调出运行,打开cmd窗口,运行【adb devices 】,如图:
图中可以看到,电脑连接了一台模拟器。
传送抓包工具到手机
输入命令:【adb push c:\tcpdump /data/local】 c:\tcpdump 是tcpdump的在pc上的路径 , /local/data/tcpdump是tcpdump在手机模拟器或者真机中的路径 如图: cmd窗口输入,【adb shell】 ,进入手机系统 再输入【cd /data/local】,进入目录 再输入【chmod 777 tcpdump】 给程序授权777 读写权限 如图所示
紧接第三步,输入【cd /】回退到根目录
输入【./data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap】 抓取的数据存放在手机/sdcard/capture.pcap 文件中
注意 -p 后面是两个v,而不是w, 如图
抓取成功按【ctrl + c】结束抓取
运行 【adb pull /sdcard/capture.pcap c:/capture.pcap】 ,将存放在sd卡中的数据文件,转移到PC的C盘根目录,如图
将capture.pcap文件,使用Wireshark工具打开,可以看到抓取了一大堆各种协议的数据。
在Filter文本框中,输入【http.request.uri】,即可筛选出HTTP协议的相关数据。
如图:
OK,到此我们就成功抓取到该应用与网络通信的所有信息。
由此看来,如果你的应用里有一些比较重要的资源,加密通信地址,实在是多么重要啊。
最后来个免责声明:本文仅供学习和交流使用,请勿光明正大干坏事……