您的位置:首页 > 理论基础 > 计算机网络

Android网络开发之用tcpdump抓包

2014-07-01 15:50 197 查看
Android开发过程中,当涉及到网络通信的时候,有一些字段需要抓包获取。我之前因为SSDP设备发现的包头格式没有写对,经过抓包分析和标准包头对比发现了这个困扰我很久的问题。总之,掌握在Android手机里面抓包是很有必要的。

准备工作:Android系统的手机,网络环境,tcpdump,破解手机root权限,建议最好在手机里面安装RE文件管理器并且给root权限。具体步骤如下:

首先,通过adb工具将tcpdump推送到手机,tcpdump的下载地址为:http://www.strazzere.com/android/tcpdump。操作可以一条指令搞定:adb
push c:/tcpdump /data/local/tcpdump。当然,用其他方式将tcpdump发送到手机也可以。

然后,需要修改tcpdump的权限:

C:\\adb shell

$
su

#chmod 777 /data/local/tcpdump

输入su指令的时候,可能需要在手机上点击确认按钮。这样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文件尾会没有写入,忽略即可。

个人辛勤劳动成果,如有转载,请注明出处,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: