在开发过程中遇到问题时,无法非常方便的获取到数据包,导致分析解决问题比较麻烦。这里介绍如何在Android手机上实现tcpdump抓包。
 

1、root机器

 在用tcpdump抓包过程中,需要使用到root权限。当前可以进行root的方法有很多,个人推荐http://root.baidu.com/,安装使用挺方便的。
2、准备adb工具
     ADB是Android手机开发包中自带的Bug调试工具,使用这个工具可以非常方便的通过PC对Android机器进行调试,在本人使用过程中经用将其用于在Android机器上面执行Shell命令

     1)adb shell,在PC机的命令终端中直接执行Android的Shell命令(也可以通过在Android机器上面安装命令终端等App来执行shell命令,从易用性来讲肯定没有使用adb shell方便的多,但也是一种方法)
     2)adb push local remote,将PC上的文件推送到Android机器上面的路径中
     3)adb pull remote local,从Android机器上面的文件拉取到PC指定的路径中
3、安装tcpdump
     Android系统虽然源自于Linux操作系统,为适用于手持设备环境的要求,对其进行一番简化阉割是无法避免的,其中tcpdump这调试分析神器,就在被阉割的行列。为正常使用tcpdump,我们需要在Android系统中安装一份tcpdump,主要步骤为:
     1)下载tcpdump包
          提供一份tcpdump包下载地址:http://www.strazzere.com/android/tcpdump
     2)上传tcpdump包到Android机器
          adb push d:\tcpdump /data/local/tmp
          remote安装目录需要根据情况进行自定义
     3)执行chmod 0777 tcpdump命令,赋予可执行权限(执行chmod a+x tcpdump反映失败,还没整明白啥原因)
4、抓取数据
     到此为止,基本上已经完成了准备工作。tcpdump命令的具体使用方法可以参见tcpdump手册( http://www.tcpdump.org/)。在实际操作过程中,按照在Linux执行抓包的命令:tcpdump -Xnlps0 -i any port 80 -w pcap.cap时,却告知tcpdump: syntax error,查看帮助文档才发现不支持port类型过滤,为此最后将抓包命令简化为:./tcpdump -Xnlps0 -w pcap.cap,一不做二不休,将全部的包都抓下来,在PC机器上面用Wireshark也相当可行。
5、分析数据
     正如上面所讲的,直接采用wireshark来分析数据比较方便。

Android手机tcpdump抓包的更多相关文章

  1. [转] Android利用tcpdump抓包

    原文链接:http://mysuperbaby.iteye.com/blog/902201 Android利用tcpdump抓包 博客分类: Android AndroidAccessGoHTML  ...

  2. 多种方式实现在Android 手机上抓包

    一.素材来源 https://www.zhihu.com/question/20467503 二.方法整理 2.1 方式1:Packet Capture + HTTP Injector 使用于在手机端 ...

  3. Android利用tcpdump抓包,用wireshark分析包。

    1.前言 主要介绍在android手机上如何利用tcpdump抓包,用wireshark分析包. android tcpdump官网: http://www.androidtcpdump.com/ t ...

  4. Android通过tcpdump抓包(wifi, 2g, 3g都可以)

    http://blog.csdn.net/deng529828/article/details/20646197 1. 手机要有root权限 2. 下载tcpdump   http://www.str ...

  5. Android使用tcpdump抓包

    AllJoyn中有个问题:Server切换到Client后,重新加入其他Server时join session会失败,原因是timeout(join session是异步的,在指定时间内没有收到回应) ...

  6. android下tcpdump抓包

    tcpdump是最快捷方便的抓包方式,还可以加深对网络协议的理解.android下可以通过如下方式抓包: 1 Android上启动tcpdump Android设备可以把tcpdump的可执行文件上传 ...

  7. Android手机上抓包神器

    Packet Capture 一款依托安卓系统自身VPN来达到免Root抓取数据包的应用程序.Packet Capture一个使用SSL网络解密的 捕获数据包/网络嗅探 工具,虽然它的功能并不丰富,但 ...

  8. Android通过tcpdump抓包

    1. 手机要有root权限 2. 下载tcpdump   http://www.strazzere.com/android/tcpdump 3. adb push c:\wherever_you_pu ...

  9. 转:android root tcpdump抓包强烈推荐

    转:http://www.cnblogs.com/findyou/p/3491035.html 写的相当详细且完整,业界良心. adb push d:\tcpdump /data/local/ adb ...

随机推荐

  1. clip属性

    clip:rect矩形剪裁功能及一些应用介绍. 其实是这样的,top right bottom left分别指最终剪裁可见区域的上边,右边,下边与左边.而所有的数值都表示位置,且是相对于原始元素的左上 ...

  2. fastjson和json-lib的区别

    上次把原生json替换成了fastjson,发生很多地方不兼容,对这个也做了一些总结: 1.对于没有赋值的变量处理,json-lib会根据类型给出相应初始值,而fastjson直接忽略这个字段. 解决 ...

  3. 使用VisualSVN建立SVN Server

    首先去官网下载安装包.http://subversion.apache.org/packages.html找到windows的,选择VisualSVN->VISUALSVN SERVER 双击开 ...

  4. poj2429 GCD & LCM Inverse

    用miller_rabin 和 pollard_rho对大数因式分解,再用dfs寻找答案即可. http://poj.org/problem?id=2429 #include <cstdio&g ...

  5. Java学习之路(四)

    1:static关键字 静态变量可以使用类名来调用 也可以使用对象来调用 但是同一个类的同一个静态变量存储的位置是一样的  所以无论改变那个对象的静态变量的值其他对象的同一个变量的值也会改变 静态函数 ...

  6. 判断sql执行效率以及针对临时表的使用

    /****** Script for SelectTopNRows command from SSMS ******/ SET STATISTICS io ON SET STATISTICS time ...

  7. Python_cmd的各种实现方法及优劣(subprocess.Popen, os.system和commands.getstatusoutput)

    http://blog.csdn.net/menglei8625/article/details/7494094

  8. Mac环境下用Java(Sikuli+Robot)实现页游自动化

    转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ Sikulix(以前叫Sikuli)在Mac电脑的环境配置步骤如下: 1.从官网上下载Sikuli ...

  9. VMware 安装CentOS

    使用VMware安装CentOS 6.4 环境:Windows7 , VMware Workstation10, CentOS6.4 为什么选择CentOS ? 主流: 目前的Linux操作系统主要应 ...

  10. 加载页面(Loading)

    /* 文件说明:页面加载时Loading JS 文件描述:解决IE或FF下,初始化加载时,页面布局乱掉的问题,参考:*/var width = $(window).width();var height ...