详解Fiddler Classic过滤、重放、转发HTTP请求

!!! 因为多个平台原因,更多干货文章,请移步到作者主博客 菜鸟厚非

一、简介

今天介绍一下 Fiddler Classic 对 HTPP 的过滤、重放、转发操作,这在开发中,尤其在微服务中调试中是经常用到的功能,可以大大提高我们的调试效率。

二、转发 HTTP 请求

转发 HTTP 请求,是指当一个请求 A 经过 Fiddler,转发到请求 B 的功能。Fiddler 设置请求的转发有两种方式:一种是经过脚本,另一种直接在 UI 设置,而常用的是脚本方式。

例如:请求的地址是 192.168.1.10/Get/Data,想把他转到 localhost:5000/Get/Data,通过这个案例进行讲解

2.1 FiddlerScript

1 . 点击 Fiddler 工具栏的 FiddlerScript 菜单,可以进入脚本编辑页面
在这里插入图片描述2 . 在打开的 Fiddler ScriptEditor 窗口中,使用 Ctrl+F 找到 OnBeforeRequest 方法
详解Fiddler Classic过滤、重放、转发HTTP请求_第1张图片3 . 在 OnBeforeRequest 方法的末尾,添加下面代码,主要是对 url 的替换。如下:

        if (oSession.url.IndexOf('192.168.1.10/Get/Data/')>-1){
            oSession.url =oSession.url.Replace('192.168.1.10/Get/Data/','localhost:5000/');    
        } 

详解Fiddler Classic过滤、重放、转发HTTP请求_第2张图片

三、重放 HTTP 请求

重放 HTTP 请求,使用的是 Fiddler 的 Composer 功能。 可以看做是在 Fiddler 中集成了一个 Postman 功能,我们来看看此工具如何使用。

3.1 捕捉请求

在浏览器范围 一下 http://192.168.88.146:8082/hello ,这是我这内网环境的 api,可根据自己的实际的 api 进行访问
详解Fiddler Classic过滤、重放、转发HTTP请求_第3张图片
然后,看 Fiddler Classic ,可以看到,捕捉到了刚刚访问的连接
详解Fiddler Classic过滤、重放、转发HTTP请求_第4张图片

3.2 发包

首先点击 “Composer ”,然后讲左边的请求拖到右边,再点击 execute 即可重新发出一个请求
详解Fiddler Classic过滤、重放、转发HTTP请求_第5张图片

四、过滤 HTTP 请求

Fiddler Classic 开启捕捉后,会监听所有的请求,在大多数情况下,我们只需要监听部分请求,此时可以使用 Filters 功能去控制,设置好了后一定要点击 Actions,才能生效
在这里插入图片描述

4.1 指定显示

指定显示,是通过指定的域名白名单列表,捕捉列表只展示再白名单内的。首先点击 Filters ,勾选 Use Filters,再选择 show only the flowing hosts ,那后再输入指定的域名(192.168.88.146;www.baidu.com;*.bing.com)

详解Fiddler Classic过滤、重放、转发HTTP请求_第6张图片

这里我们指定了 192.168.88.146;www.baidu.com;.bing.com 三个域名,其中 .bing.com 是模糊匹配。

4.2 排查显示

排查显示与指定显示恰恰相反,只需选择 hide the flowing hosts 即可,其他操作一指定显示一致。如下:
详解Fiddler Classic过滤、重放、转发HTTP请求_第7张图片

五、扩展

5.1 显示 IP

首先打开 fiddler 软件,按 ctr+r 或者 菜单 Rules–Customize Rules,找到 static function Main(),添加显示 IP 脚本。如下:

FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");

详解Fiddler Classic过滤、重放、转发HTTP请求_第8张图片

你可能感兴趣的:(工具)