Fiddler过滤器 Filters 详解

如果要对当前Fiddler的抓包进行过滤(如过滤掉与测试项目无关的抓包请求),那功能强大的 Filters 过滤器能帮到你。

Fiddler过滤器 Filters 详解

进入 Filters 选项页,勾选上 Use Filters,即启用过滤器。

Actions 四个选项说明:
Run Filterset now  -- 使用当前的过滤规则。
Load Filterset... -- 加载(以前保存的)过滤规则。
Save Filterset... -- 保存当前的过滤规则(非常实用,如针对每个应用测试设置一套过滤规则)
Help -- 进入fiddler在线帮助。

Fiddler过滤器 Filters 详解

小贴士:要掌握下面这些过滤规则,最好的方式是边看边实验。

一、 Hosts 过滤 较常用

- No Zone Filter - --不设置区域过滤器。
Show only Intranet Hosts -- 只显示内部的Hosts,即过滤掉外网的Hosts。此时,只显示URL请求目标服务器在内网的请求。
Show only Internet Hosts -- 相对应,只显示外网的Hosts。

- No Host Filter - -- 不设置过滤主机IP条件。
Hide the following Hosts -- 隐藏输入到下面文本框中的Hosts。
Show only the following Hosts -- 仅显示输入到下面文本框中的Hosts。
Flag the following Hosts -- 加粗显示如下 Hosts。

示例,只想显示 www.51ste.com 的请求,则选中 Show only the following Hosts ,并在下面输入框中填入 www.51ste.com 即可。此时,哪怕是http://51ste.com的请求,也会被过滤掉,显示不出来。

二、Client Process 过滤(客户端进程过滤,通过配置只过滤/不过滤哪些进程的请求。用的不多

Show only traffic from -- 你可以指定只显示哪个 Windows 进程中的请求,右侧会列出当前所有的 Windows 进程。
Show only Internet Explorer traffic -- 只显示 IE 发出的请求。
Hide trafficfrom service host -- 隐藏来自service host的请求。

三、Request Headers (根据请求头信息进行过滤。常用

Show only if URL contains  -- 仅显示URL中包含指定字符串的请求(字符串可以是URL中的一部分,多个字符串用空格分开(多个表示 或,即只要URL包含任一字符串,都会显示), 可以是正则或完整的URL)。
Hide if URL contains  -- 仅隐藏URL中包含指定字符串的请求(字符串可以是URL中的一部分,多个用空格分开, 可以是正则或完整的URL)。

Flag requests with headers -- 标记带有特定header的请求(即加粗)。例如,我想突出显示header信息中带有token字段的URL请求,即可以勾选上这项,并在后面输入:token
Delete request headers -- 删除请求中的Header字段。(在进行测试时非常有用,比如去掉URL中的token信息,判断服务器是否有做token校验)
Set request Header -- 在URL请求中添加头字段,与上一条对应。前面输入字段,后面输入值。

四、Breakpionts 设置断点很少用,毕竟可以通过 bpu、bpafter以及改写规则js设置断点)

Break request on Post -- 针对Post请求设置断点。
Break request on GET with query string -- 针对Get请求设置断点。
Break on  XMLHttpRequest -- 针对Ajax请求设置断点。
Break response on Content-type -- 针对响应报文中header字段Content-Type匹配成功的请求设置断点。

五、Response Status Code (根据URL请求响应状态码进行过滤,用的不多

Hide success(2xx) -- 隐藏响应状态码为2xx的URL请求,如响应状态码为200的URL请求将隐藏掉。
Hide non-2xx -- 隐藏响应状态码不是2xx的URL请求。
Hide Authentication demands(401,407) -- 隐藏认证(响应状态码为:401 407)的URL
请求。
Hide redirects(300, 301, 302, 303,307) -- 隐藏重定向(响应状态码为:300 301 302 303 307)的URL请求。
Hide Not Modifield(304) -- 隐藏不是缓存的状态码(304)的URL请求。 关于304请求,可以看 Fiddler之Replay功能详解 http://www.51ste.com/share/det-889.html

六、Response Type and Size (根据响应类型和报文大小进行过滤,用的较少

Show all  Content-Type -- 显示所有类型Content-Type的请求,Content-Type即为响应结果header信息中Content-Type字段。
Show only IMAGE/* -- 仅显示响应类型为图片的请求。(即响应header中Content-Type=IMAGE/*的请求,*为通配符)
Show only HTML -- 仅显示响应类型为HTML的请求。
Show only TEXT/CSS -- 仅显示响应类型为TEXT/CSS的请求。
Show only SCRIPTS -- 仅显示响应类型为SCRIPTS的请求。
Show only XML -- 仅显示响应类型为XML的请求。
Show only JSON -- 仅显示响应类型为JSON的请求。
Hide IMAGE/* -- 隐藏所有响应类型为图片的请求。

Hide smaller than -- 隐藏小于指定大小响应结果的请求。(大小可以在 Inpsectors 中响应结果部分的 Transformer 中查看)
Hide larger than -- 隐藏大于指定大小响应结果的请求。

Time HeatMap 时间的热图
Block script files -- 阻止返回正常JS文件。
Block image files -- 阻止返回正常图片文件。
Block SWF files -- 阻止返回正常SWF文件。
Block CSS files -- 阻止返回正常CSS文件。
小提示:这个功能可以测试CSS、JS等加载失败的情况下页面的展示情况。

七、Response Header (根据URL请求响应header信息进行过滤处理,用的较少

Flag responses that set cookies -- 响应中有cookies信息的加上标识(斜体)。
Flag responses with headers -- 标记响应中带有特定header的请求(即加粗)。
Delete response headers -- 删除响应信息中指定的Header字段。
Set response header -- 在响应中添加header字段。如添加Transfer-Encoding: chunked,前面填写Transfer-Encoding,后面填写chunked。



留言