Fiddler-断点(After Responses)+修改Get请求的返回值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fiddler-断点(After Responses)+修改Get请求的返回值相关的知识,希望对你有一定的参考价值。
参考技术A 背景:测试时需要看一些特殊值时的页面表现,这时可以通过Fiddler在接口返回值前修改值再传回前端,查看特殊值的表现。
1.设置Fiddler可以监控https请求(百度一下,你就知道)
2.设置过滤(方便排除无关页面的接口)
3.在Rules里勾上After Responses,设置断点。表示在接口返回值后,前端拿到值前,拦截接口。
4.刷新页面,捕捉接口请求
被阻拦的接口,点右侧绿色按钮“Run to Completion”,让接口通过,直到阻拦到自己要捕捉的接口
①第1次捕捉到,先让他通过(这个是个options请求,不带数据)
②第2次捕捉到,双击接口,右侧点击Transformer(第二次捕捉到的接口带着数据)
③ 将GZIP改选为None,然后切至TextView修改值
(注意:之后要切回Transformer,将None改回GZIP ,然后点绿色按钮“Run to Completion”)
5.查看页面,发现页面上值已更改
6.完成后,断点设置为Disabled即可关闭断点
7.关于为什么捕捉接口时,有2个相同的接口,参考:
https://www.cnblogs.com/heioray/p/9392533.html
在某些情况下,普通的get或者post请求回首先自动发起一次options请求,当options请求成功返回后,真正的ajax请求才会再次发起。
基本思路就是server端在接收到请求的时候,先去判断下是不是 options请求 ,判断下来源,没问题的时候返回个200,再发请求数据的接口。
Fiddler抓包软件
下载地址
一、简介
二、工作原理
四、Fiddler界面介绍
go:用于断点调试Debug,类似于Eclipse调试代码的F6,下图红圈中的位置
- 点击一下会出现一个蓝色向上的箭头,此时的意思是截获发送request的时会有一个断点,可以点击go按钮继续往下走
- 再点击一下会出现一个向下的绿色箭头,此时的意思是截获request返回时会有一个断点
Stream:fiddler代理模式流模式与缓冲模式之间切换,默认是缓冲模式,按下即为流模式。
- 缓冲模式:当一个HTTP请求的所有内容全部返回给Fiddler时候才在界面展示出来;
- 流模式:Fiddler实时展示返回的内容
Decode:解压请求,将HTTP返回的内容全部解压出来,方便查看。
Keep sessions: 保持sessions会话,默认为保持全部,按照你需求的大小,电脑内存的大小选择保持多少会话,毕竟越多约占用电脑资源。
Any Process: 过滤请求,可以指定只抓取某个也面或者浏览器的请求,操作方式:按住靶心按钮,出现十字状,按住鼠标拖动到目标浏览器界面,可看到浏览器界面变成黑色,方开鼠标后按钮处会出现你只捕获的目标进程编号。
Browes: 快速启动浏览器按钮,下拉菜单里面有各种本机装有的浏览器,比如IE,Chrome,Firefox等
TextWizard: 编码/解码问本内容,比如URL关键字解码/编码,Base64/JS String之类的解码,编码
Tearoff: 分离面板,将左边的会话面板与右边的面板分离,浮窗,取消分离的话是直接关闭分离出来的面板即可
控制台:可以在其中输入命令行,比如输入help,就会在浏览器中打开常用的命令
Fiddler想要抓到数据包,要确保Capture Traffic是开启,如果需要解密https请求需要进行配置,配置方法后面会讲。
1.会话列表内各字段的含义:
# 抓取HTTP Request的顺序,从1开始,以此递增
Result HTTP状态码
Protocol 请求使用的协议,如HTTP/HTTPS/FTP等
Host 请求地址的主机名
URL 请求资源的位置
Body 该请求的大小
Caching 请求的缓存过期时间或者缓存控制值
Content-Type 请求响应的类型
Process 发送此请求的进程:进程ID
Comments 允许用户为此回话添加备注
Custom 允许用户设置自定义值
列表内部分图标含义:
请求已经发往服务器 |
|
已从服务器下载响应结果 |
响应需要客户端证书验证 |
|
服务端错误 |
请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body) |
会话被客户端、Fiddler 或者服务端终止 |
3.右上方字段含义:
(1)Statistics 请求的性能数据分析
如果要看整个页面从请求,到最后一个请求结束的整体时间,也可以在会话列表中,ctrl+点击需要统计的请求,可以看到总体明细
- show chart:数据可视化处理
(2)Inspectors 对请求进行解包,可以查看相应的请求和响应信息,上半部分是请求的内容,下半部分是响应的内容
(3)AutoResponder 允许拦截指定规则的请求
这块允许你拦截指定规则的请求,并返回自定义的资源,从而代替服务器响应。
例如:添加一个自定义规则,当我访问‘百度’网站时,就会被劫持-->返回我自定义的图片;如果不想再用此规则,取消勾选,然后右击选择‘remove’。
关键词有很多匹配规则,如:
- 字符串匹配(默认):只要包含指定字符串(不区分大小写),全部认为是匹配
- 正则表达式匹配:以“regex:”开头,使用正则表达式来匹配,这个是区分大小写的
4) Composer 自定义请求发送服务器(也可用于接口测试)
前后端接口连调,可以用来伪造请求--需要后端接口:修改里面的数据参数,伪造请求,再访问查看效果。
可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求;Parsed模式下你只需要提供简单的URLS地址即可
5)Filters 请求过滤规则
Fiters 是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,你刷新一下浏览器,一大片不知道哪来请求,看着碍眼,它还一直刷新你的屏幕。这个时候通过过滤规则来过滤掉那些不想看到的请求。
1、Zone 指定只显示内网(Intranet)或互联网(Internet)的内容
2、Host 指定显示某个域名下的会话
如果框框为黄色(如图),表示修改未生效,点击红框里的文字即可
6) Timeline 请求响应时间
在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间
3.Fiddler 设置解密HTTPS的网络数据
解密HTTPS需要手动开启,依次点击:
1. Tools –> Fiddler Options –> HTTPS—>勾选Decrypt HTTPS Traffic—>yes—>安装证书—>ok
4.修改电脑系统hosts
将所有的文件映射到指定的IP或者服务器下面
五、 Fiddler 内置命令与断点
FIddler断点功能就是将请求截获下来,但是不发送,这个时候你可以干很多事情,比如说,篡改和伪造数据。
直接在控制台输入对应的命令:
断点命令:
断点可以直接点击Fiddler下图箭头标注位置(点一下截获全部请求,点两下截获全部请求响应,点三下解除断点设置),控制台的断点的命令可以精确设置需要截获那些请求。
篡改和伪造数据:
以上是关于Fiddler-断点(After Responses)+修改Get请求的返回值的主要内容,如果未能解决你的问题,请参考以下文章