Android抓包方法(二)之Tcpdump命令+Wireshark
Android抓包方法(二)
之Tcpdump命令+Wireshark
前言
做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等。学会抓包分析是测试人员必备的功课之一。最先想的基本上都会是Fiddler代理抓包,但Fiddler有局限,如果APP不支持代理呢?比如邮箱是Imap协议呢?好吧,我们换个思路,安卓是基于linux,那么linux的抓包工具命令是不是也能试用呢?本文主要对tcpdump进行抓包举例。
[目录]
1、抓包原理
tcpdump(需Root用户运行)拦截和显示发送或收到过网络连接到该机器的TCP/IP和其他数据包。简单说就监控手机进出网络数据。
不明觉历啊....
官方网站: http://www.tcpdump.org(Android手机适用的另处下载)
2、方法优劣
3、安装准备
a.目前Root工具很多,随便下个操作一下即可,都傻瓜式的。比如什么刷机精灵、360一键ROOT、百度等等
b.解压下载的文件,再配置环境变量即可,具体请问谷哥或度娘,不再另做说明。
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、实例
二期测试时,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的更多相关文章
- Android抓包方法(三)之Win7笔记本Wifi热点+WireShark工具
Android抓包方法(三) 之Win7笔记本Wifi热点+WireShark工具 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等 ...
- Android抓包方法(一)之Fiddler代理
Android抓包方法(一) 之Fiddler代理 前言: 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等. 不管是之前做HTML5手机 ...
- Android抓包方法(转)
Android抓包方法(转) 作者:Findyou 地址:http://www.cnblogs.com/findyou/p/3491014.html 前言: 做前端测试,基本要求会抓包,会分析请求数据 ...
- Android抓包方法
0. Fiddler代理 1.tcpdump命令+wireshark工具 adb shell #登入手机 su #切换Root用户 /data/local/tcpdump -p ...
- Android抓包方法 之Fiddler代理
1.抓包原理 Fiddler是类似代理服务器的形式工作,它能够记录所有你的电脑和互联网之间的http(S)通讯,可以查看.修改所有的“进出”的数据.使用代理地址:127.0.0.1, 默认端口:888 ...
- ADB工具和手机抓包方法介绍
Android抓包方法 工具包内容如下:(下载地址:http://download.csdn.net/download/yezhaohui2011/8368061) adb ——谷歌提供的安卓远程调试 ...
- Android 下使用tcpdump网络抓包方法
Android 下使用tcpdump网络抓包方法 抓包需要tcpdump以及Root权限,tcpdump在本文后有下载. 首先把tcpdump传进手机,用adb命令(放SD卡有时会有问题,我一次可以用 ...
- Android系统手机端抓包方法(tcpdump)
抓包准备 1. Android手机需要先获得root权限.一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得).在终端模拟器界面输入su并回车,若报错则说明未root, ...
- Android系统手机端抓包方法
抓包准备 1. Android手机需要先获得root权限.一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得).在终端模拟器界面输入su并回车,若报错则说明未root, ...
随机推荐
- php中的mysql 和 mysqli 区别
mysql是非持续连接函数,每次链接都会打开一个连接进程 mysqli是持续连接函数,多次运行将使用同一连接进程,从而降低服务器开销.
- 对InvokeAction简略分析了解验证失败为什么Action还会继续执行
一.前言 有些同学使用AuthorizationFilter来进行用户是否登录验证,如果未登录就跳到登录页. 很简单的一个场景,但是有些同学会发现虽然验证失败了,但是整个Action还会执行一遍. 于 ...
- ZeroMQ研究与应用分析
1 ZeroMQ概述 ZeroMQ是一种基于消息队列的多线程网络库,其对套接字类型.连接处理.帧.甚至路由的底层细节进行抽象,提供跨越多种传输协议的套接字.ZeroMQ是网络通信中新的一层,介于应用 ...
- Linux修改环境变量的方法
在Linux操作系统中,有时候跟着教程安装了一些软件,安装成功后,很高兴的准备运行该软件相应命令,但是偶尔会遇到”Command not found…“的提示.原因是因为你安装的软件需要设置环境变量才 ...
- Java多线程16:线程组
线程组 可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线程,这样的组织结构有点类似于树的形式,如图所示: 线程组的作用是:可以批量管理线程或线程组对象,有效地对线 ...
- C# WPF 让你的窗口始终钉在桌面上
IntPtr hWnd = new WindowInteropHelper(Application.Current.MainWindow).Handle; IntPtr hWndProgMan = F ...
- OpenCV 3.0函数库索引
================================== 前言:值的个数: cvCrossProduct:计算两个三维向量的向量积(叉积): cvCvtColor:将数组的通道从一个颜色空 ...
- 如何在 IIS 上搭建 mercurial server
mercurial server 对于代码管理工具,更多的人可能更熟悉 Git 一些(Git 太火了).其实另外一款分布式代码管理工具也被广泛的使用,它就是 mercurial.多人协作时,最好能够通 ...
- QT屏蔽qDebug的方法
在工程文件.pro里面添加 DEFINES += QT_NO_WARNING_OUTPUT\ QT_NO_DEBUG_OUTPUT 然后rebuild all.这样 ...
- 自已写的Json序列化方法,可以序列话对象的只读属性
/* * by zhangguozhan 2015/1/5 * P2B.Common.CJson.ConvertJson.ObjectToJson<SenderDomainModel>方法 ...






