测试常用工具之Fiddler

测试常用工具之Fiddler

一、Fiddler常用功能简介

1.1 Fiddler 页面简介

image-20230304144859532

1.2 菜单栏

(1)File,文件管理

image-20230304150758330

(2)Edit,会话编辑

主要是复制、粘贴、移除、标记、解锁编辑与对话查找

image-20230304152624760

(3)Rules,会话显示规则管理

image-20230304154206191

(4)Tools,抓包工具设置

image-20230304154955495

Tools之option,抓https请求

image-20230304155440844

Tools之Connection,连接设置

image-20230304155802486

1.3 工具栏

(1)Comments,会话备注

用于注释说明某请求,常用于测试提交bug时的补充说明

image-20230304160857399

(2)Replay,重放请求

重放选择的请求多次,用于压测。与Jmeter等压测不同,此处Fiddler是串行顺序地发送请求,而JMeter是并行的。

快捷键 R:重放请求一次

image-20230304161450498

快捷键 Shift + R:重放请求指定次数

image-20230304161730889

(3)Remove,移除特定会话

image-20230304162010938

(4)Stream,流模式

Fiddler有两种模式,缓存模式与流模式,默认处于缓存模式。

缓存模式:Fiddler把所有请求的响应全部获取后,先不返回给客户端浏览器,Fiddler收到的响应达到一定大小时,再一次性返回给客户端浏览器。

流模式:Fiddler每获取到一个请求的响应后,就立刻把响应返回给客户端浏览器。

image-20230304162114297

下图表示Fiddler已处于流模式,再次点击即可退出流模式:

image-20230304162705054

(5)AnyProcess,只抓指定应用的包

image-20230304163635624

如:只抓微信的包

image-20230304163702993

(6)其他

image-20230304164630195

1.4 会话(session)列表区

该区用多个字段显示每个session的概况,这些字段可通过FiddlerScript和页面来编辑,单击列名还可以将session排序,以下是各常见字段的含义:

image-20230304174803400

编辑列

image-20230304190115179

自定义列也可以通过编辑FiddlerScript定义

image-20230304190549245

1.5 单个session详情及编辑区

(1)概览

image-20230304191858848

(2)Statistics,统计

image-20230304192038774

(3)Inspectors,会话检测器

该工具能以各种格式方便的查看各种类型的请求及响应,也能在此工具下对session的请求及响应很方便地编辑,构建请求及响应。

image-20230304193547343

(4)AutoResponder,伪响应
页面简介

image-20230305150717621

可用于极限测试(边界值分析)

伪响应可用于极限测试,测试服务器返回空(模拟实际应用中因某种原因可能导致的状况)时,客户端是否有友好的提示。

如下图:

image-20230305151054598

实际客户端UI如下:

image-20230305151444809

(5)Composer,请求构造器

此工具用于生成请求,能做简单的接口测试或调试

image-20230305152847109

(6)Filters,请求过滤器

主要是对session会话的主机设置、客户端进程、请求头、断点、HTTP相应状态码、响应类型和大小、响应头等各部分做详细的筛选过滤,以及过滤器的生效设置的使能。下图仅介绍常用功能,其中,要特别注意是否有绿色的勾选,如果疏忽的话可能会导致不会显示请求,重启Fiddler后,会自动取消勾选:

image-20230305154857787

1.6 状态栏

image-20230305161544214

1.7 快捷命令行

类似于Linux命令行或Windows CMD,以命令行形式快捷控制Fiddler,如下图:

image-20230305162015122

常用命令如下表:

命令作用
help打开Fiddler快捷命令的官网
?searchtext搜索session 列表中,URL含searchtext的所有session
>size
<size
选择所有响应大于size字节的session
选择所有响应小于size字节的session
=status/method选择指定响应状态码或请求方法的所有session,如
=301,会选择所有301状态码的session;
=post,会选择所有3请求方法为post的session
@host选择服务器域名中含host字符的session
bpu [url_path]Break Point for Url,请求前断点,为包含指定url_path字符的
所有session设置断点,即为局部断点,若url_path不填,则为所有session设置断点,即为全局断点
bpafter [url_path]响应后断点,作用方式同bpu命令

二、Fiddler实际应用

2.1 火狐浏览器配置Fiddler代理,抓HTTPS

Fiddler不会自动设置为火狐的代理,需手动设置,以火狐110.0.1 (64 位)为例:

(1)设置代理

打开设置,搜索 网络设置 ,点击 设置…(E) 按钮:

image-20230305170827878

按下图设置即可:

image-20230305171150410

(2)导入证书(旧版本的需要此步,新版本无需此步)

在设置中搜索证书,查看是否已安装Fiddler证书

image-20230305171611489

image-20230305171720729

若无证书,则按下面步骤导入证书即可:

image-20230305172219641

将桌面上的证书导入即可

image-20230305172318676

2.2 Fiddler抓移动设备的包

注意,即便以下设置全部正确,也不能保证所有的https包都能抓到,因为移动设备的安全反爬设施越来越严格。

(1)Fiddler允许被远端设备访问

image-20230305172643906

(2)移动设备下载证书

移动设备与装Fiddler的电脑连接同一WiFi,设置移动端的代理

Android设置代理(以小米9为例)

image-20230305174833060

IOS设置代理(以iphone11为例)

image-20230305174940352

代理设置完毕后,移动端打开浏览器,访问:http://电脑主机IPv4:Fiddler监听的端口,如上图的http://192.168.31.233:8889,再下载、安装及信任证书即可抓移动端的包。

image-20230305175242354

2.3 请求断点的应用

(1)请求前断点

未篡改请求前的响应

image-20230305183032506

设置请求前断点,并截取到请求后,要立刻取消断点;虽然断点已取消,但已设置的断点在放行(Go)之前是不会自动取消的。篡改后的结果如下图:

image-20230305182524883

(2)响应后断点

image-20230305184100214

放行之后,客户端显示用户不存在。

image-20230305184247889

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值