Fiddler对安卓移动端的抓包测试

一、所需工具

windows笔记本、Fiddler工具、小米note手机、待测APP

二、Fiddler下载地址

官网下载地址:http://www.telerik.com/download/fiddler

三、Fiddler设置手机抓取https请求

1、对Fiddler设置为允许远程连接

Tools--Options--HTTPS 按照下图勾选

设置https

Tools--Options--Connections 按照下图勾选设置,最后点击OK
设置连接

说明:①Fiddler listens on port是手机连接fiddler时的代理端口号,默认8888即可; ②Allow remote computers to connect是允许远程发送请求,需要勾上
注:fiddler设置完一定要重启fiddler才生效

2、设置手机代理

手机需要和电脑在同一个局域网下,所以在电脑上通过cmd敲命令ipcofig查看IPv4 地址,打开手机正在连接的wifi,修改网络设置


点击按钮打开修改网络页

设置代理

主机名是刚刚在电脑终端上查看的IPv4 地址,端口就是8888,点击确定即可。

3、下载安装fidder证书

使用手机浏览器访问http://【电脑IP地址】:【fiddler设置的端口号】如http://1192.168.1.xxx:8888

下载证书安装

注:若打不开该网址或待测app报网络连接超时,请把电脑上的防火墙关闭,亲测!

四、Fiddler基本界面

抓取接口后查看到的默认页面

fiddler左边区域,选择需要查看的url然后点击,查看右侧区域。request区域默认展示headers部分, response区域默认展示Transformer部分,response区域默认展示按钮“Responsebody is encode,Click to decode”(译为:返回体已被编码,点击可解码),所以我们可以通过点击这个按钮查看解码后的response返回区域。

fiddler界面

一般我们查看接口的入参和出参可以通过Inspectors窗口查看接口的request请求参数和response的返回参数。request请求参数一般选择TextView或者WebForms格式查看,response返回参数一般可以选择TextView或者JSON格式查看,若发现接口入参出参都是一串看不懂的数据,那肯定是你们开发加密了,不是明文显示。可以考虑找你们的开发给你们弄一个解密工具。

五、Fiddler的基本用法

1、修改request请求参数

选中一条url请求,鼠标点击右键,选择Replay--Reissue and Edit,进入对这个请求的编辑状态,右边页面就会变成如下图所示,修改完入参后,点击绿色按钮Run to Completion,然后查看response返回区域。
修改request请求入参
response返回结果

2、修改response返回参数

如下图待测app,我需要页面的资产金额从1766.75变为8766.75
image.png

首先fidder上找到这条数据的请求url,鼠标点击右键,选中Unlocking For Editing,request区域和response区域都处于可编辑状态,编辑response返回参数成为自己想要的值,然后再选中刚才的url,点击取消选中Unlocking For Editing,关闭编辑模式。
response处于可编辑

再点击右边的AutoResponder,把刚刚编辑的那条url直接鼠标拖到空白框区域,然后勾选Enable rules和Unmatched requests passthrough。


image.png

最后刷新待测app的页面,页面展示的数据就是我们需要的资产金额8766.75,不再需要测试修改后的respons返回参数值的话,只需要去AutoResponder把刚刚那条请求取消勾选即可。
image.png

推荐阅读更多精彩内容