zoukankan      html  css  js  c++  java
  • 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指令的时候,可能须要在手机上点击确认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文件尾会没有写入,忽略就可以。


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

  • 相关阅读:
    Nginx优化
    Mysql日常操作
    YUM源
    MySQL5.7安装手册
    自律——可以让我们活的更高级
    javascript中with的用法
    js中所有函数的参数(按值和按引用)都是按值传递的,怎么理解?
    base64编码的图片在网页中显示
    form表单提交没有跨域问题,但ajax提交存在跨域问题
    移动端1px的适配问题
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5178508.html
Copyright © 2011-2022 走看看