[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中篡改搜索关键字

  1. 启动Before Requests选项

  2. 在google搜索框中搜索关键字“Fiddler”,提交请求

    [B]Fiddler03-轻松玩转Fiddler
  3. 在fiddler中,请求已被拦截,如下

    [B]Fiddler03-轻松玩转Fiddler
  4. 修改上图搜索关键字q参数的值为“JMeter”后,点击“Run to Completion”,查看浏览器搜索结果则已经变成了搜索“JMeter”的结果了。

    [B]Fiddler03-轻松玩转Fiddler

After Responses

请求响应前,进行断点:我们可以在这个断点中,修改服务端响应信息

这里以访问百度首页,修改返回页面中的title为例

  1. 启动After Response

  2. 在浏览器中访问百度首页,此时在页面响应前,已经被fiddler拦截

    [B]Fiddler03-轻松玩转Fiddler
  3. 修改上图的响应内容中的title,然后点击“Run to Completion”后,观察浏览器中百度首页的标题已经被篡改成功。

    [B]Fiddler03-轻松玩转Fiddler

请求重定向

精确匹配重定向

这里以访问bejson,fiddler将请求转到4399平台官网为例

  1. 在Fiddler中的AutoResponder tab中设置如下

    [B]Fiddler03-轻松玩转Fiddler
  2. 在浏览器中,访问http://www.bejson.com/ ,结果可见如下,已成功重定向到了4399平台官网。

    [B]Fiddler03-轻松玩转Fiddler

正则匹配,带动态参数重定向

如果有些接口是根据参数来拦截的,怎么设置呢? 这里使用通过正则表达式 REGEX匹配

[B]Fiddler03-轻松玩转Fiddler

浏览器中访问http://www.bejson.com/?k1=v1&ac=load_bank&k2=v2

Fiddler拦截到请求后,会重定向 redir 到4399平台官网首页,并且会在请求中带上原来的请求参数

[B]Fiddler03-轻松玩转Fiddler

模拟响应内容

假设我们想直接篡改某个请求的返回值,我们一般有两种方式

Create New Response…

  1. 在AutoResponder tab 的 执行动作下拉选项中,选择“Create New Response…”,点击“Save”

    [B]Fiddler03-轻松玩转Fiddler
  2. 在设置窗口的“TextView”中,填写如预期响应内容,“Save”后生效

    [B]Fiddler03-轻松玩转Fiddler
{
    "msg""Hello World!"
}
  1. 浏览器中访问 http://www.bejson.com/

    [B]Fiddler03-轻松玩转Fiddler

Find a file…

  1. 在本地创建响应文件,如Hello.json,内容为

{
    "msg""Hello World!"
}
  1. 在AutoRespnder tab的执行动作下拉选项中,选择“Find a file…”,选择本地文件Hello.json

    [B]Fiddler03-轻松玩转Fiddler
  2. 浏览器中访问 http://www.bejson.com/

    [B]Fiddler03-轻松玩转Fiddler

加解密

Fiddler 自带常见加解密功能,如

响应内容解密

[B]Fiddler03-轻松玩转Fiddler

解密后
[B]Fiddler03-轻松玩转Fiddler

请求参数解密
Fiddler中有个加解密工具 TextWizard


通过选择参数,右键->"Send to TextWizard…"快捷将参数发送到“TextWizard”中,如

重发[修改]请求

选中Session->右键->Replay


以上是关于[B]Fiddler03-轻松玩转Fiddler的主要内容,如果未能解决你的问题,请参考以下文章

Fiddler探秘

玩转Fiddler脚本

Fiddler大师之路系列

如何通过抓包工具fiddler获取java程序的http请求

fiddler抓包常用功能详解

fiddler