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

作前端测试,基本要求会抓包,会分析请求数据包,查看接口是否调用正确,数据返回是否正确,问题产生是定位根本缘由等。前端

具体步骤以下:浏览器

一、抓包原理

Fiddler是相似代理服务器的形式工做,它可以记录全部你的电脑和互联网之间的http(S)通信,能够查看、修改全部的“进出”的数据。使用代理地址:127.0.0.1, 默认端口:8888。打开Fiddler会自动设置代理,正常退出会自动注销代理,非正常退出上不了网,重起一次Fiddler,或直接在IE里取消代理便可。

 

二、方法优劣

[优势]:
1).Fiddler操做简单、方便、功能强大
2).能实时抓包,可模拟修改请求
2).只须要手机支持代理便可
3).适用广,安卓、Iphone、Ipad、WinPhone等支持代理手机均适用

 

 
[缺点]:
1).电脑须要安装Fiddler
2).测试手机须要支持Wifi
3).测试手机与电脑须要同一网络
4).所测APP需支持代理 

三、准备工做

1).检查电脑网络链接安全

a.使用同网络内的另外一台电脑)ing本机,检查是否连通正常。 服务器

缘由:我以前测HTML5项目就发现Fiddler代理抓不到包,手机设置均正确,后发现是网络内找不到本机,本机防火墙设置问题。网络

另外须要关注是否同一网络,若是手机GPRS等上网,你在局域网内抓包...哥以为你能够改行了... app

(约定:后文所述Fiddler所在电脑均称为本机) 测试

 

2).Fiddler安装加密

a.下载地址: http://fiddler2.com/get-fiddler3d

 

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码,安装证书时会提示,按步骤走便可。 

 

四、实例

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:以上实例仅为参考,具体测试,以所相关业务及测试目标为导向进行测试分析。  

 

五、其余

本文虽主要对Android手机抓包举例,但其目的是说明,不论是电脑,仍是手机,仍是其余上网终端,均可以经过代理的方式来抓包(HTTS、HTTPS)。

相关文章
相关标签/搜索