Android网络开发之用tcpdump抓包

    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文件尾会没有写入,忽略即可。


个人辛勤劳动成果,如有转载,请注明出处,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值