fiddler如何filter_如何使用Fiddler Filter 与 FiddlerScript 过滤本机网络请求

Fiddler

Fiddler的Find Session相比同类产品,功能上已经十分极致,即使不需要Filter也可以轻易抓取目标请求,但在请求繁多,监控目标流量过多的情况下,Filter不可或缺。

Fiddler具有高定制性,理论上可以拦截所有可代理请求并依特定条件过滤,但本文仅涉及常用Field的过滤:Protocol,Host,URL,Content-Type,HTTP Method。

Protocol

实际上过滤Protocol基本上只相对于HTTP与HTTPS两种协议,由于HTTPS基于TLS,默认配置下Fiddler不会监听HTTPS请求,首先开启拦截HTTPS请求,如图在menu中选择Tool>Options

Tool>Options

选中Options>HTTPS>Decrypt HTTPS traffic

Decrypt HTTPS traffic

此时操作系统将询问是否通过Fiddler的证书,同意后成功

启用成功

启用后Fiddler将同时监听HTTP与HTTPS流量,在Filter界面对其进行设置

勾选Use Filter

Use Filter

设置过滤哪一种协议

过滤Protocol

Host

同在Filter界面,只需要如下设置

Host

过滤多个Host只需用;隔开

多个Host

URL

URL 过滤

Show only if URL contains过滤出所需的URL,使用正则在前面追加REGEX:

Hide if URL contains隐藏符合规则的URL,可以与Show only if URL contains同时使用,也支持正则,同样需要以REGEX:开头

Content-Type

Content-Type

只需要在response type and size的下拉框中选择即可

HTTP Method

例如如果要隐藏所有HTTP Method为OPTIONS的请求,打开FiddlerScript界面找到OnBeforeRequest方法

FiddlerScript

在OnBeforeRequest方法最后一行追加判断

if (oSession.HTTPMethodIs("OPTIONS")) {

oSession["ui-hide"] = "true";

}

HTTPMethodIsy方法也可以判断其他HTTP Method,例如POST,GET,DELETE,PUT,PATCH。

Fiddler使用C#编写,它将动态编译FiddlerScript并进行调用,实际上FiddlerScript也是一个普通的C# class,可以利用其做很多复杂的逻辑判断用来过滤请求,参数Seesion具有类索引器,取值便捷,即使不熟悉c#语法也可以轻松做过滤逻辑,设计非常周到。

### 如何在 Fiddler过滤 HTTP 请求 #### 基本概念 Fiddler 是一款强大的网络调试工具,能够捕获并分析 HTTP 和 HTTPS 流量。通过其内置的过滤功能,可以有效减少无关流量的影响,专注于目标请求。 --- #### 使用 Filters 功能进行过滤 1. **启用 Filter** 打开 Fiddler 后,在右侧界面找到 `Filters` 选项卡,并勾选 `Use Filters` 复选框[^1]。这会激活过滤器功能。 2. **Hosts 主机过滤** 在 `Hosts` 部分,可以选择仅显示来自特定主机的请求。具体操作如下: - 勾选 `Show only the following Hosts`。 - 在下方文本框中输入目标域名或 IP 地址,多个地址间用逗号分隔[^3]。 3. **Client Process 进程过滤** 如果希望只查看由某个应用程序发起的请求,可以在 `Client Process` 部分配置: - 勾选 `Only show traffic from selected processes`。 - 利用下拉菜单选择具体的进程名称[^2]。 4. **Request Headers 请求过滤** 可以基于请求头部字段进一步筛选数据流: - 设置 `If URL contains` 输入框来匹配特定路径字符串。 - 或者利用高级模式定义更复杂的规则集。 5. **断点过滤 (Breakpoints)** 断点允许拦截某些类型的请求/响应以便手动修改后再继续传输过程。例如: - 将 `Break when any request matches this condition` 的条件设为正则表达式形式。 6. **响应状态码过滤** 用户还可以依据服务器返回的状态代码范围决定哪些条目被隐藏或者高亮展示出来。比如限定只看成功类别的回复(即2xx系列). 7. **响应类型和大小过滤** 对于多媒体文件下载场景特别有用——可按 MIME 类型以及字节数阈值双重维度加以约束: ```plaintext Show responses with content type: image/jpeg Hide all but largest N sessions by size(KB): 100KB+ ``` --- #### 示例代码片段 以下是 Python 脚本模拟向某 API 发送 GET 请求的例子: ```python import requests url = 'https://example.com/api/data' response = requests.get(url) if response.status_code == 200: print('Success:', response.text[:100]) # 输出前一百字符作为预览 else: print(f'Failed to retrieve data ({response.status_code})') ``` 运行上述脚本的同时开启已配置好相应参数组合后的 Fiddler 实例即可观察到对应行为表现情况变化趋势图谱等等信息了! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值