Android开发过程中,当涉及到网络通信的时候,有一些字段须要抓包获取。我之前由于SSDP设备发现的包头格式没有写对,经过抓包分析和标准包头对照发现了这个困扰我非常久的问题。总之,掌握在Android手机里面抓包是非常有必要的。
准备工作:Android系统的手机,网络环境,tcpdump。破解手机root权限。建议最好在手机里面安装RE文件管理器而且给root权限。详细过程例如以下:
首先,通过adb工具将tcpdump推送到手机,tcpdump的下载地址为:。操作能够一条指令搞定:adb push c:/tcpdump /data/local/tcpdump。当然,用其它方式将tcpdump发送到手机也能够。
然后,须要改动tcpdump的权限:
C:\\adb shell
$ su #chmod 777 /data/local/tcpdump
输入su指令的时候,可能须要在手机上点击确认button。
这样adb就能有权限改动tcpdump的属性了。
開始抓包:
adb shell $ su /data/local/tcpdump -p -vv -s 0 -w /sdcard/capture.pcap
抓包结束仅仅须要按下ctrl + c就可以。须要注意的是:在Windows平台下。ctrl + c会直接中断,用该用ctrl + d或者其它指令结束该程序(Mac OS不受影响)。
将抓包文件拉取出来:adb pull /sdcard/capture.pcap c:/ 假设你没有安装RE文件管理器,可能看不到capture.pcap文件,可是它确实是存在的,原因是权限不够(root创建的文件在Android下,普通权限程序无法查看)。
接下来你就能够用Wireshark分析你抓的包了。
打开的时候可能会报错,由于假设你用中断的方式结束抓包,pcap文件尾会没有写入,忽略就可以。
个人辛勤劳动成果。如有转载。请注明出处,谢谢!