1 抓包原理

tcpdump(需Root用户运行)拦截和显示发送或收到过网络连接到该机器的TCP/IP和其他数据包。简单说就监控手机进出网络数据。

2 方法优劣

2.1优点

1.手机数据包无遗漏

2.2缺点

1.不能实时抓包

2.电脑需要安装Android SDK

3.测试手机需要获取root权限

4.测试手机需要安装tcpdump软件

3 安装准备

3.1手机获取root权限

目前针对android手机的Root工具很多,网上下载任意刷机工具,比如刷机精灵、一键ROOT等等

3.2电脑安装Android SDK

下载地址 http://developer.android.com/sdk/index.html

解压下载的文件进行安装,再配置环境变量即可,目前同事电脑基本均已安装配置此环境。

3.3手机安装tcpdump

tcpdump下载地址:   http://www.strazzere.com/android/tcpdump

4 工具安装

1.Android手机USB连接电脑,打开Windows命令提示符窗口;

2.检查手机连接是否正常;

adb devices   #检查手机是否已连接

*执行记录*:

注1:已检查到手机连接正常

3.adb shell 进入手机修改/data/local权限

adb shell   #登入手机

su          #切换Root用户

chmod 777 /data/local/    #修改目录权限,修改后Ctrl+C退出adb shell

4.将tcpdump程序copy到android手机

adb push E:\tcpdump /data/local/  #tcpdump文件存放在E盘根目录,/data/local/为手机目标路径

也可通过文件浏览器工具拷贝文件;

*执行记录*(第3步至第4步)

5.adb进入手机修改tcpdump的权限,修改为可执行权限;

adb shell   #登入手机

su          #切换Root用户

chmod 777 /data/local/tcpdump    #增加可执行权限

5 实例

1.usb连接手机,切换root用户,执行抓包命令

adb shell   #登入手机

su          #切换Root用户

/data/local/tcpdump -p -vv -s 0 -w /sdcard/Mcart001.pcap   #执行抓包命令,结果保存到SD卡Mcart001.pcap文件中

2.操作APP,生成请求数据

3. 按Ctrl+C中断抓包退出

4.导出抓包结果至电脑

adb pull /sdcard/Mcart001.pcap E:/  #前为手机中文件及存放路径,后为电脑E盘根目录

5.使用Wireshark等工具分析抓包文件Mcart001.pcap

使用tcpdump抓Android网络包的更多相关文章

  1. 利用tcpdump抓取网络包

    1.下载并安装tcpdump 下载地址:tcpdump 安装tcpdump,连接adb adb push tcpdump /data/local/tcpdump adb shell chmod 675 ...

  2. tcpdump抓取HTTP包

    tcpdump抓取HTTP包 tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 0x4745为"GET&quo ...

  3. 【Azure 环境】在Windows环境中抓取网络包(netsh trace)后,如何转换为Wireshark格式以便进行分析

    问题描述 如何在Windows环境中,不安装第三方软件的情况下(使用Windows内置指令),如何抓取网络包呢?并且如何转换为Wireshark 格式呢? 操作步骤 1) 以管理员模式打开CMD,使用 ...

  4. Linux使用tcpdump抓取网络数据包示例

    tcpdump是Linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump ...

  5. TCPDump 抓Loopback数据包

    编写网络程序必备截包工具, unix下面自带tcpdump, linux就不用说了.用于排查网络程序的bug,命令行如何使用请百度谷歌.分析包推荐wireshark,可视化非常方便.一般都是在非Win ...

  6. [转]使用tcpdump抓取HTTP包

    tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 0x4745 为"GET"前两个字母"G ...

  7. 采用tcpdump攫Android网络数据包

    1 空灵的原理 tcpdump(需Root用户执行)拦截和显示发送或收到过网络连接到该机器的TCP/IP和其它数据包.简单说就监控手机进出网络数据. 2 方法优劣 2.1长处 1.手机数据包无遗漏 2 ...

  8. tcpdump抓取HTTP包【转载】

    tcpdump -XvvennSs 0 -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 0x4745 为"GET"前两个字母"G ...

  9. linux tcpdump抓取HTTP包的详细解释

    tcpdump tcpdump是linux系统自带的抓包工具,主要通过命令行的方式,比较适合在线上服务器进行抓包操作,如果是windows或者ubuntu完全可 以选择一些图形化的工具,ubuntu比 ...

随机推荐

  1. js 获取月份 格式yy-mm-dd

    /** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date. ...

  2. GoF——职责链模式

    职责链模式(chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它 ...

  3. [原]基于CAS实现单点登录(SSO):登录成功后,cas client如何返回更多用户信息

    从cas server登录成功后,默认只能从casclient得到用户名.但程序中也可能遇到需要得到更多如姓名,手机号,email等更多用户信息的情况. cas client拿到用户名后再到数据库中查 ...

  4. C语言入门(11)——switch分支语句

    C语言提供了一种用于多分支选择的switch语句, 其一般形式为: switch(表达式) { case 常量表达式1:语句1; break; case 常量表达式2:语句2; break; .... ...

  5. HDU 5723 Abandoned country(最小生成树 + 树形DP)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5723 [题目大意] n座城市,m条路径,求解: 1.最短的路径和,使得n座城市之间直接或者间接连通 ...

  6. 开发移动端web的一些知识

    由于智能机的普及,越来越多网页支持移动端了,那么如何解决适配移动端呢 在这总结一下自己的学习笔记 viewport:虚拟的容器,仅在移动设备有效 <meta name="viewpor ...

  7. 在WHERE子句中引用取别名的列

    版权说明:作者:张颖希(PocketZ's Blog)出处:http://www.cnblogs.com/PocketZ本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页 ...

  8. 用VIM删除空行

    从网上找了一个 :g/^s*$/d 开始用的挺好,后来遇到一种空格开头的空行,就不好用了. MSDN上说正则匹配空行用/^\s*$/,就试着把上面的命令改为: :g/^\s*$/d 就可以了. 用的操 ...

  9. (转)ios限制控制器旋转

    iOS屏幕旋转控制 iOS屏幕旋转控制(iOS6之后)       iOS6之前,子控制器只要覆盖父类的shouldAutorotateToInterfaceOrientation:方法就能单独控制某 ...

  10. ​c++ 调用DLL函数,出现错误

    ​c++ 调用DLL函数,出现错误 Run-Time Check Failure #0 - The value of ESP was not properly saved across a funct ...