[B]Fiddler03-轻松玩转Fiddler
Posted python测试开发圈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[B]Fiddler03-轻松玩转Fiddler相关的知识,希望对你有一定的参考价值。
设置HOSTS
HOSTS的原理
我们通过了解访问一个网址的过程来理解HOST的原理:
为什么使用HOSTS?
通过上面这个过程,我们可以得知Hosts的请求级别比DNS高
假设我们的一些测试服务器IP没有对外域名解析,我们是不能通过域名直接访问的。如果我们通过IP来访问,IP又不便于记忆,那么我们可以在本机host中将域名映射到测试服务器,岂不是就可以测试到对应服务器上的那套代码了?
HOST在Fiddler中的配置
【Tools】-》【HOSTS】
配置示例,请参考一下配置格式:
设置后,立刻生效,如上配置保存后,浏览器
访问 test_host.com 时,就直接访问到192.168.0.75 这台服务器,默认端口80
访问 ptqa.com 时,就直接访问到192.168.0.75 这台服务器的8000端口
注意:
1.本地windows的host路径是:C:\Windows\System32\drivers\etc\HOSTS
2.HOSTS文件中,不能指定端口,但是在Fiddler的HOSTS中,竟然可以指定端口
,实在太棒!
设置断点
【Rules】->【Automatic Breakpoints】
Before Requests
请求发送出去前,进行断点:我们可以在这个断点中,修改客户端请求信息
这里以google搜索为例,在Fiddler中篡改搜索关键字
启动Before Requests选项
在google搜索框中搜索关键字“Fiddler”,提交请求
在fiddler中,请求已被拦截,如下
修改上图搜索关键字q参数的值为“JMeter”后,点击“Run to Completion”,查看浏览器搜索结果则已经变成了搜索“JMeter”的结果了。
After Responses
请求响应前,进行断点:我们可以在这个断点中,修改服务端响应信息
这里以访问百度首页,修改返回页面中的title为例
启动After Response
在浏览器中访问百度首页,此时在页面响应前,已经被fiddler拦截
修改上图的响应内容中的title,然后点击“Run to Completion”后,观察浏览器中百度首页的标题已经被篡改成功。
请求重定向
精确匹配重定向
这里以访问bejson,fiddler将请求转到4399平台官网为例
在Fiddler中的AutoResponder tab中设置如下
在浏览器中,访问http://www.bejson.com/ ,结果可见如下,已成功重定向到了4399平台官网。
正则匹配,带动态参数重定向
如果有些接口是根据参数来拦截的,怎么设置呢? 这里使用通过正则表达式 REGEX匹配
浏览器中访问http://www.bejson.com/?k1=v1&ac=load_bank&k2=v2
Fiddler拦截到请求后,会重定向 redir 到4399平台官网首页,并且会在请求中带上原来的请求参数
模拟响应内容
假设我们想直接篡改某个请求的返回值,我们一般有两种方式
Create New Response…
在AutoResponder tab 的
执行动作
下拉选项中,选择“Create New Response…”,点击“Save”在设置窗口的“TextView”中,填写如预期响应内容,“Save”后生效
{
"msg": "Hello World!"
}
浏览器中访问 http://www.bejson.com/
Find a file…
在本地创建响应文件,如Hello.json,内容为
{
"msg": "Hello World!"
}
在AutoRespnder tab的
执行动作
下拉选项中,选择“Find a file…”,选择本地文件Hello.json浏览器中访问 http://www.bejson.com/
加解密
Fiddler 自带常见加解密功能,如
响应内容解密
解密后
请求参数解密
Fiddler中有个加解密工具 TextWizard
通过选择参数,右键->"Send to TextWizard…"快捷将参数发送到“TextWizard”中,如
重发[修改]请求
选中Session->右键->Replay
以上是关于[B]Fiddler03-轻松玩转Fiddler的主要内容,如果未能解决你的问题,请参考以下文章