Android抓包方法(转)
Android抓包方法(转)
作者:Findyou
地址:http://www.cnblogs.com/findyou/p/3491014.html
前言:
做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等。不管是之前做HTML5手机项目测试,还是现在的企邮app测试,经常需要抓包,做前端开发基本第一时间会想到Fiddler,的确Fiddler比较强大方便,本文主要以Android手机为例介绍通过Fiddler抓手机数据包,Iphone、Ipad、Win Phone等可设代理的手机,也均可用此方法。
[目录]
1、抓包原理


2、方法优劣
3、准备工作
1).检查电脑网络连接
a.使用同网络内的另一台电脑)ing本机,检查是否连通正常。
原因:我之前测HTML5项目就发现Fiddler代理抓不到包,手机设置均正确,后发现是网络内找不到本机,本机防火墙设置问题。
另外需要关注是否同一网络,如果手机GPRS等上网,你在局域网内抓包...哥觉得你可以改行了...
(约定:后文所述Fiddler所在电脑均称为本机)
2).Fiddler安装
a.下载地址: http://fiddler2.com/get-fiddler
b.安装:省略(下一步...下一步即可)
3).Fiddler配置
a.允许远程计算机连接Fiddler
菜单:Tools-> Fiddler Options->Connections,勾选"Allow remote computers to connect"
注:8888为默认端口号,可修改,但需注意两点,一是本机空闲端口,二是手机代理设置时端口要一致。
b.配置可捕获HTTPS请求(*不需要捕获HTTPS,则忽略此步*)
菜单:Tools-> Fiddler Options->Connections,勾选"Capture HTTPS CONNECTs"后
再勾选"Decrypt HTTPS traffic"、"Ignore server certificate errors"
注1:勾选项英文不认识,请Google,不另做解释
4).手机安装HTTPS证书(*不需要捕获HTTPS,则忽略此步*)
a.首先确定Fiddler所在电脑的IP地址:例:192.168.8.8
b.打开被测手机浏览器,访问http://192.168.8.8:8888,点"FiddlerRoot certificate" 然后安装证书
注:Iphone、Ipad安装则很简单,点击安装即可。Android安装稍微麻烦点,则需要先设置手机锁屏密码、PIN码,安装证书时会提示,按步骤走即可。
4、实例
ThinkDrive抓包实例
一期测试时,涉汲到APP安全测试,因此需要查看传输数据是否存在明文密码等。
1).开启Fiddler,确定本机IP、Fiddler端口号
本机IP:192.168.8.8
Fiddler端口号:8888
2).手机连接本机所在同网络Wifi,设置代理
a.代理主机名:Fiddler所在电脑IP
b.代理服务器端口: Fiddler使用的端口
3).APP操作,生成请求数据
a.例:登录
b.例:退出登录
4).分析Fiddler抓包数据
a.例:登录请求分析
1).双击查看登录请求,选择WebForms或JSON等其他类标签,查看请求参数值,对照接口文档及你想要测试的点分析,请求是否正确,查看返回数据是否正确。
2).同帐号,不同密码;不同帐号,同密码等测试用例,测试多次登录后发现,密码仅为MD5加密,没有对密码进行很好的加密传输
3).分析存在以下问题:
问题1:帐号密码采用http传输,帐号与密码(MD5值)局域网可以捕获;
问题2:密码虽采用MD5加密,但传输未加密,简单密码可以在线解密(图中密码在线解密不到1秒:123qwe);问题3:密码不解密也一样可以登录,通过A帐号在app登录,再用sniffer得到的B 帐号与密码(MD5值),使用Fiddler修改A帐号的请求完成B帐号在APP登录。
注1:Fiddler功能使用,请Google或百度,此处不详说
注2:以上实例仅为参考,具体测试,以所相关业务及测试目标为导向进行测试分析。
5、其他
本文虽主要对Android手机抓包举例,但其目的是说明,不管是电脑,还是手机,还是其他上网终端,都可以通过代理的方式来抓包(HTTS、HTTPS)。
Android抓包方法(转)的更多相关文章
- Android抓包方法(三)之Win7笔记本Wifi热点+WireShark工具
Android抓包方法(三) 之Win7笔记本Wifi热点+WireShark工具 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等 ...
- Android抓包方法(二)之Tcpdump命令+Wireshark
Android抓包方法(二) 之Tcpdump命令+Wireshark 前言 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等.学会抓包分 ...
- Android抓包方法(一)之Fiddler代理
Android抓包方法(一) 之Fiddler代理 前言: 做前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本原因等. 不管是之前做HTML5手机 ...
- Android抓包方法 之Fiddler代理
1.抓包原理 Fiddler是类似代理服务器的形式工作,它能够记录所有你的电脑和互联网之间的http(S)通讯,可以查看.修改所有的“进出”的数据.使用代理地址:127.0.0.1, 默认端口:888 ...
- Android抓包方法
0. Fiddler代理 1.tcpdump命令+wireshark工具 adb shell #登入手机 su #切换Root用户 /data/local/tcpdump -p ...
- ADB工具和手机抓包方法介绍
Android抓包方法 工具包内容如下:(下载地址:http://download.csdn.net/download/yezhaohui2011/8368061) adb ——谷歌提供的安卓远程调试 ...
- Android 下使用tcpdump网络抓包方法
Android 下使用tcpdump网络抓包方法 抓包需要tcpdump以及Root权限,tcpdump在本文后有下载. 首先把tcpdump传进手机,用adb命令(放SD卡有时会有问题,我一次可以用 ...
- 【转载】linux下的usb抓包方法
1 linux下的usb抓包方法 1.配置内核使能usb monitor: make menuconfig Device Drivers --> ...
- linux下的usb抓包方法
1 linux下的usb抓包方法1.配置内核使能usb monitor: make menuconfig Device Drivers --> ...
随机推荐
- 神经网络中的偏置项b到底是什么?
原文地址:https://blog.csdn.net/Uwr44UOuQcNsUQb60zk2/article/details/81074408 前言 很多人不明白为什么要在神经网络.逻 ...
- 【BZOJ 2119】股市的预测(SAM)
SAM很好用的啊... 传送门 双倍经验:L-Gap Substrings 基本做法类似,这道题的差分改掉,map 改掉就好了QWQ noteskey 反正就是先差分一下,然后把首项丢掉(没有比较的对 ...
- 微信小程序-下拉松开弹不回去顶部留一段空白
解决办法: 空白的出现有可能是多次触发下拉事件导致请求过多导致页面反应延迟. 在 onPullDownRefresh 事件里加setTimeout事件延迟下下拉刷新的事件. /** * 页面相关事件处 ...
- percona mysql server5.7基于gtid的主从复制
配置mysql基于gtid主从复制架构 一.二进制安装mysql [root@node5 data]# --Linux.x86_64.ssl101.tar.gz [root@node5 data]# ...
- 微信小程序UI组件--Lin UI
地址:http://doc.mini.7yue.pro/ Lin UI 是基于 微信小程序原生语法 实现的组件库
- vscode开发c#
转载自: http://www.cnblogs.com/lxhbky/p/6673230.html http://www.cnblogs.com/lxhbky/p/6692065.html 一.环境安 ...
- 通过设置ie的通过跨域访问数据源,来访问本地服务
1.首先设置通过域访问数据源 设置通过域访问数据源 2.javascript脚本ajax使用本地服务登录(评价,人证的类似)接口 <html> <head> <scrip ...
- 解决在编程方式下无法访问Spark Master问题
我们可以选择使用spark-shell,spark-submit或者编写代码的方式运行Spark.在产品环境下,利用spark-submit将jar提交到spark,是较为常见的做法.但是在开发期间, ...
- 基于DBUtils实现数据库连接池
小知识: 1.子类继承父类的三种方式 class Dog(Animal): #子类 派生类 def __init__(self,name,breed, life_value,aggr): # Anim ...
- oracle 备份脚本
本文是一个shell脚本.主要用于Oracle 数据库备份.默认情况下,在周一晚上进行全备.其他时间进行累积增量备份. 使用方法: 假如脚本保存名为: oracle_backup.sh 使用方法为 o ...







