在开发过程中遇到问题时,无法非常方便的获取到数据包,导致分析解决问题比较麻烦。这里介绍如何在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. PMO究竟啥样?(3)

    PMO究竟啥样?(3) 继续上一篇,PMO究竟啥样?到这篇,这篇文章就完毕啦. 超卓基地COE,4大典型责任 我们知道全部的公司,它都是要不断地继续改善和优化,包括公司内安排级的项目处理的机制,也需求 ...

  2. Spring MVC 的汉字乱码问题

    在web.xml文件加入 <filter> <filter-name>characterEncodingFilter</filter-name> <filte ...

  3. AndroidManifest.xml 详解

    第1部分 标签库+包路径+版本控制 <manifest xmlns:android="http://schemas.android.com/apk/res/android" ...

  4. Gold Coins 分类: POJ 2015-06-10 15:04 16人阅读 评论(0) 收藏

    Gold Coins Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 21767   Accepted: 13641 Desc ...

  5. CSUFT 1005 Coffin Tiles

    1005: Coffin Tiles Time Limit: 1 Sec      Memory Limit: 128 MB Submit: 2      Solved: 2 Description ...

  6. hibernate有关联关系删除子表时可能会报错,可以用个clear避免错误

    //清除子表数据 public SalesSet removeSalesSetDistributor(SalesSet salesSet ){ List<SalesSetDistributor& ...

  7. c++类中的常量

    C++类中的常量 由于#define 定义的宏常量是全局的,不能达到目的,于是想当然地觉得应该用 const 修饰数据成员来实现.const 数据成员的确是存在的,但其含义却不是我们所期望的.cons ...

  8. DataList数据的绑定

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs& ...

  9. [dataTables.js error] Uncaught TypeError: myTable.row is not a function

    使用dataTables.js时遇到的问题. 代码如下: var myTable = $('#dynamic-table') .dataTable({ bAutoWidth : false, &quo ...

  10. Using SYSTEM.MOUSE_ITEM In Oracle Forms

    If the mouse is in an item, SYSTEM.MOUSE_ITEM represents the name of that item as a CHAR value.For e ...