Android抓包方法(二)

之Tcpdump命令+Wireshark

前言

做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等。学会抓包分析是测试人员必备的功课之一。最先想的基本上都会是Fiddler代理抓包,但Fiddler有局限,如果APP不支持代理呢?比如邮箱是Imap协议呢?好吧,我们换个思路,安卓是基于linux,那么linux的抓包工具命令是不是也能试用呢?本文主要对tcpdump进行抓包举例。
转载请注明出处
作者:Findyou
地址:http://www.cnblogs.com/findyou/p/3491035.html

[目录]

1、抓包原理

2、方法优劣

3、安装准备

4、工具安装

5、实例

1、抓包原理

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

不明觉历啊....

官方网站: http://www.tcpdump.org(Android手机适用的另处下载)

2、方法优劣

[优点]:
1).手机数据包无遗漏
[缺点]:
1).基本只能针对Android手机
2).不能实时抓包
3).电脑需要安装Android SDK
4).电脑需要安装Wireshark
5).测试手机需要获取root权限
6).测试手机需要安装tcpdump软件

3、安装准备

1).手机获得root权限

a.目前Root工具很多,随便下个操作一下即可,都傻瓜式的。比如什么刷机精灵、360一键ROOT、百度等等

2).电脑安装Android SDK  

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

b.解压下载的文件,再配置环境变量即可,具体请问谷哥或度娘,不再另做说明。

3).手机安装tcpdump软件  

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

4、工具安装


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

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

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

*执行记录*:

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

问题1:adb devices不可用      解决:检查环境变量是否配置正确。

问题2:检不到手机为空           解决:1、驱动是否安装;2、如有装腾讯手机管家,把tadb.exe进程给卡擦掉。

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/为手机目标路径

5).进入手机修改tcpdump权限,增加可执行权限;

adb shell   #登入手机
su          #切换Root用户
chmod 777 /data/local/tcpdump    #增加可执行权限

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

注:/data/local/为了安全起见,建议把权限改回原先权限

5、实例

ThinkDrive抓包实例

二期测试时,APP已不支持代理,抓不到数据包,测试无法准确知道是服务器问题还是APP问题,此处省略N字...以表对研发的诅咒。开玩笑的,大家目的都是为了版本质量提高,更加完善。下文以登录为例,进行演示。

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

adb shell   #登入手机
su          #切换Root用户
/data/local/tcpdump -p -vv -s 0 -w /sdcard/ThinkDrive.pcap   #执行抓包命令,结果保存到SD卡ThinkDrive.pcap文件中

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

注:如果操作完成,不需要再抓包,则按Ctrl+C中断抓包退出

3). 导出抓包结果至电脑

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

4). 使用Wireshark等工具分析抓包文件ThinkDrive.pcap

注:Wireshark工具使用请Google或百度

转载请注明出处:Findyou

Android抓包方法(二)之Tcpdump命令+Wireshark的更多相关文章

  1. Android抓包方法(三)之Win7笔记本Wifi热点+WireShark工具

    Android抓包方法(三) 之Win7笔记本Wifi热点+WireShark工具 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等 ...

  2. Android抓包方法(一)之Fiddler代理

    Android抓包方法(一) 之Fiddler代理 前言: 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等. 不管是之前做HTML5手机 ...

  3. Android抓包方法(转)

    Android抓包方法(转) 作者:Findyou 地址:http://www.cnblogs.com/findyou/p/3491014.html 前言: 做前端测试,基本要求会抓包,会分析请求数据 ...

  4. Android抓包方法

    0. Fiddler代理 1.tcpdump命令+wireshark工具 adb shell   #登入手机 su          #切换Root用户 /data/local/tcpdump -p ...

  5. Android抓包方法 之Fiddler代理

    1.抓包原理 Fiddler是类似代理服务器的形式工作,它能够记录所有你的电脑和互联网之间的http(S)通讯,可以查看.修改所有的“进出”的数据.使用代理地址:127.0.0.1, 默认端口:888 ...

  6. ADB工具和手机抓包方法介绍

    Android抓包方法 工具包内容如下:(下载地址:http://download.csdn.net/download/yezhaohui2011/8368061) adb ——谷歌提供的安卓远程调试 ...

  7. Android 下使用tcpdump网络抓包方法

    Android 下使用tcpdump网络抓包方法 抓包需要tcpdump以及Root权限,tcpdump在本文后有下载. 首先把tcpdump传进手机,用adb命令(放SD卡有时会有问题,我一次可以用 ...

  8. Android系统手机端抓包方法(tcpdump)

    抓包准备 1. Android手机需要先获得root权限.一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得).在终端模拟器界面输入su并回车,若报错则说明未root, ...

  9. Android系统手机端抓包方法

    抓包准备 1. Android手机需要先获得root权限.一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得).在终端模拟器界面输入su并回车,若报错则说明未root, ...

随机推荐

  1. week 4 日志

    周一 上上个星期感冒,上个星期看完奇幻森林后痔疮发作,打了整整一礼拜的针,有点背.. 今天看了 css知多少(6)——选择器的优先级 http://www.cnblogs.com/wangfupeng ...

  2. Netbeans+CodeIgniter搭建PHP开发环境

    为什么选这样的开发环境 常见的PHP集成开发环境有Eclipse+PDT,NetBeans,PHPEclipse,Zend Studio,PhpStorm等,我经过多方面的考虑(费用.易用性.功能.活 ...

  3. [.net 面向对象编程基础] (10) 类的成员(字段、属性、方法)

    [.net 面向对象编程基础] (10) 类的成员(字段.属性.方法) 前面定义的Person的类,里面的成员包括:字段.属性.方法.事件等,此外,前面说的嵌套类也是类的成员. a.类的成员为分:静态 ...

  4. 关于Web开发里并发、同步、异步以及事件驱动编程的相关技术

    一.开篇语 我的上篇文章<关于如何提供Web服务端并发效率的异步编程技术>又成为了博客园里“编辑推荐”的文章,这是对我写博客很大的鼓励,也许是被推荐的原因很多童鞋在这篇文章里发表了评论,有 ...

  5. 对map集合进行排序

          今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map   ...

  6. MYSQL 大文件无法导入的问题。

    1. 设置maxpacket. 要在[mysqld]标签下.这个疏忽了,就会发现没效果. 基本网上的都没说清,要看stackoverflow. Change in the my.ini file. I ...

  7. Java中常量小知识

    常量分类:常量分为静态常量,非静态常量(全局常量),局部常量 静态常量:要么定义的时候赋初值,要么在静态代码块中赋值 非静态常量:要么在定义的时候赋初值,要么在代码块中赋值 局部常量:可以在定义时赋初 ...

  8. 阿里云主机(aliyun-Linux) x64安装Redis详解

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/97.html?1455870336 如何在Linux​上安装Redis呢, ...

  9. 我心中的核心组件(可插拔的AOP)~第二回 缓存拦截器

    回到目录 AOP面向切面的编程,也称面向方面的编程,我更青睐于前面的叫法,将一个大系统切成多个独立的部分,而这个独立的部分又可以方便的插拔在其它领域的系统之中,这种编程的方式我们叫它面向切面,而这些独 ...

  10. 基础才是重中之重~方法override详解

    回到 目录 之所以写这篇文章,完全是因为这次代码审核,这次代码审核过程当中,出现了很多我认为基础知识不够扎实的问题,所以,打算把它们记录下来,共大家分享. 方法的override,即方法的覆写或者重写 ...