Fiddler提供了丰富的会话过滤规则,通过过滤规则,我们能很轻松的找到需要查看的会话数据包。Fiddler过滤会话数据,主要通过菜单栏中的Rule菜单和功能区域的Filters页签。
一、Rule菜单过滤
Rule菜单提供了3条常用过滤规则:
1、Hide Image Request
过滤图像类会话,勾选后会话列表不显示图像类会话。
图像类会话成功过滤,看不到图片数据啦。
2、Hide CONNECTS
过滤CONNECTS请求方法会话,勾选后会话列表不显示CONNECTS请求方法会话。
已成功过滤掉CONNECTS请求方法
CONNECTS请求方法,关于Tunnel to….443,详解参考:Fiddler会话栏显示Tunnel to….443-CSDN博客
3、Hide 304s【最好不要过滤】
过滤304响应请求,勾选后会话列表不显示包含HTTP/304 Not Modified状态的响应会话。
隐藏成功,重新发送本地缓存请求后,没有304状态码啦。
304状态码是使用本地缓存的资源而不是从服务器重新请求。很多人Hide 304s主要是为了优化Fiddler界面的显示,通过过滤掉特定的HTTP响应状态码来简化界面,但是没有实际性的作用。相反,隐藏304可能会无法准确了解到网络请求和响应的状态,从而影响到问题的诊断和优化,显示304状态码是非常必要的,最好不要隐藏。
关于返回304状态码分析,详解参考:Fiddler抓包返回HTTP状态码304-CSDN博客
二、Filters页签过滤
有时候想抓取某个网站信息,但是数据太多,那么使用Fiddler的过滤功能,就可以将我们想要的信息给展示出来,更加精准的展现抓到的请求,而不是杂乱的一堆。
Filters过滤器的作用,过滤出我们想要的请求,不需要的请求忽略掉。
Filters界面介绍:
上面介绍了那么多过滤模块,实际常用的就是HOST过滤和请求头指定URL这两点。
1、Hosts配置过滤
1.1 启用过滤器
点击功能页签Filters > 勾选Use Filters,即开启过滤
1.2 选择过滤类型
第一个下拉框:一般保持默认选项
✔ No Zone Filter 不过滤 (默认选项)
Show only Intranet Hosts 代表仅显示本地地址(内网)
Show only Internet Hosts 代表仅显示互联网上的地址(外网)
第二个下拉框:一般勾选第三选项
No Host Filter 不设置host过滤(默认选项)
Hide the following Hosts 隐藏下面文本框输入的host过滤条件
✔ Show only the following Hosts 只显示下面文本框输入的host过滤条件
Flag the following Hosts 加粗显示以下文本框输入的host
通常第一个下拉框选择第一个选项“No Zone Filter”,第二个下拉框选择第三个选项“Show only the following Hosts”,如下图所示
1.3 文本框域名过滤;
www.baidu.com;www.hao123.com;www.bilibili.com;www.zhihu.com(多个地址以英文;分号分隔)
*.baidu.com;*.hao123.com; *.bilibili.com; *.zhihu.com(通配符简写)
表示只过滤host为http://www.baidu.com的请求
1.4 保存配置
点击 "Changes not yet saved.” 即保存当前Host配置
1.5 执行Actions
点击Actions,选择 “Run Filterset now” 立即运行,表示使用当前过滤的规则
Run Filterset now 立即执行当前规则
Load Filterset... 加载以前保存的过滤规则
Save Filterset... 保存当前设置过滤规则
1.6 查看结果
1、只显示以下Host过滤:*.baidu.com;*.hao123.com; *.bilibili.com; *.zhihu.com
2、只显示bilibili和Baidu的请求:www.baidu.com;www.bilibili.com
3、加粗显示bilibili:www.bilibili.com
4、隐藏百度的请求:www.baidu.com
以下是对Hosts配置过程的总结:
操作步骤:
1、开启过滤:点击功能页签Filters > 勾选UseFilters
2、选择过滤类型
Hosts第一个下拉框:通常选择第一项
✔ No Zone Filter 不过滤 (默认选项)
Show only Intranet Hosts 只显示内网请求
Show only Internet Hosts 只显示外网请求
Hosts第二个下拉框:通常选择第三项
No Host Filter 不设置主机过滤 (默认选项)
Hide the following Hosts 隐藏下面过滤条件
✔ Show only the following Hosts 只显示下面过滤条件
Flag the following Hosts 加粗显示以下host
3、文本框域名过滤
输入host域名(多个地址以英文;分号分隔)
4、点击 "Changes not yet saved” 保存
5、点击Actions,选择 “run Filterset now” 立即运行
图文步骤:
以上就是比较常用的Hosts过滤啦。
2、Client Process 过滤
客户端进程过滤规则:
Show only traffic from 只显示来自选择进程后的请求
Show only Internet Explorer traffic 只显示IE浏览器发出的请求
Hide traffic from Service Host 隐藏来自服务器的请求
3、Request Headers 过滤
请求Header过滤规则:
1、Show only if URL contains:显示url中包含某字符过滤
2、Hide if URL contains:隐藏url中包含某字符过滤
3、Flag requests with headers:某字符过滤后标记(高亮加粗显示)
4、Delete request headers:删除请求头
5、Set request header:设置请求头
指定URL过滤:
1、比如想抓取显示URL中包含 “baidu.com” 字符的请求。
2、隐藏URL中静态文件包含 “图片、CSS、JS” 这类素材的字符:.*\.(bmp|css|js|gif|ico|jp?g|png|swf|woff)
这也是比较常用的指定URL过滤啦。
4、Breakpoints 过滤
断点设置规则:
1、Break request on POST:给所有POST请求设置断点
2、Break request on GET with query string:给所有带参数的GET请求设置断点
3、Break on XMLHttpRequest:给XMLHttp请求设置断点(Ajax请求)
4、Break response on Content-Type:给特定的Content-Type设定断点
5、Response Status Code
响应HTTP状态过滤规则:
1、Hide success(202,204,206):隐藏请求成功的
2、Hide Authentication demands(401):隐藏未经授权被拒绝的请求
3、Hide redirects(300,301,302,303,307):隐藏重定向的请求
4、Hide Not Modified(304):隐藏无变更的请求
6、Response Type and Size
响应类型和大小过滤规则:
下拉框:展示/隐藏指定文件信息
Show all Content-Type:显示所有响应类型
Hide smaller than?KB:隐藏小于指定大小的session
Hide larger than?KB:隐藏大于指定大小的session
Time HeatMap:获得即时数据
(绿色阴影代表响应时间在50毫秒以内;超过50毫秒但在300毫秒之内的响应条目没有颜色;响应时间在300至500毫秒之间的会涂以黄色;超过500毫秒的用红色底纹显示)
Block script files:阻止脚本文件,显示为404
Block image files:阻止图片文件
Block SWF files:阻止SWF文件
Block CSS files:阻止CSS文件
这是翻译↓
Show all Content-Types:展示所有Content-Type类型
Hide smaller than 1 KB:隐藏小于1KB,意味着此操作显示的是最小数
Hide larger than1 KB:隐藏大于1KB,意味着此操作显示的是最大数
Time HeatMap:根据不同的时间给session背景色
Block scriptfiles:会话列表Content-Type里面的script文件被隐藏
Block image files:隐藏图片文件
7、Response Headers
响应Header过滤规则:
Flag response that set cookies:标记会设置cookie的响应
Flag response with headers:标记带有特定header的响应
Delete response headers:删除响应header
Set response header:设置响应的header
会话列表:鼠标右击
总结:
过滤监控会话,筛选和标记会话,或进行一些轻量级的修改;Fiddler默认会检查HTTP头中设置的Host,标记或隐藏部分会话,选择隐藏的时候,Fiddler仍然会代理通信的主机,只是将对应会话隐藏在监控面板 (文本框内输入需要标记或过滤的域名,多个域名使用英文”;”分号分割)
注意事项:Fiddler安装和使用的时候需要关闭杀毒软件!
如果觉得不错,请点赞。谢谢~.~