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

x33g5p2x  于2022-04-17 转载在 其他  
字(1.4k)|赞(0)|评价(0)|浏览(330)

一、简介

今天介绍一下 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 方法


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/');    
        }

三、重放 HTTP 请求

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

3.1 捕捉请求

在浏览器范围 一下 http://192.168.88.146:8082/hello ,这是我这内网环境的 api,可根据自己的实际的 api 进行访问

然后,看 Fiddler Classic ,可以看到,捕捉到了刚刚访问的连接

3.2 发包

首先点击 “Composer ”,然后讲左边的请求拖到右边,再点击 execute 即可重新发出一个请求

四、过滤 HTTP 请求

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

4.1 指定显示

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

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

4.2 排查显示

排查显示与指定显示恰恰相反,只需选择 hide the flowing hosts 即可,其他操作一指定显示一致。如下:

五、扩展

5.1 显示 IP

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

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

创作挑战赛

新人创作奖励来咯,坚持创作打卡瓜分现金大奖

相关文章