Fiddler请求过滤
在上一篇:Fiddler抓包基本介绍,了解了如何抓取HTTPS请求以及APP请求。由于 Fiddler 会抓取所有的 HTTP 请求,这样会造成左侧会话的请求不断更新,对我们的调试造成干扰。因此可以通过过滤规则的设置,从而来过滤掉不需要的请求。
点击 Fiters 选项卡,勾选左上角的 Use Filters 即可开启过滤器:
Fiddler之Hosts过滤
域名过滤,通过配置只监听/或不监听域名
两个最常用的过滤条件是Zone 和 Host:
-
Zone:指定只显示内网(Intranet)或互联网(Internet)的内容
-
Host:指定显示某个域名下的会话
过滤内网主机/过滤外网主机,一般很少用到,主要使用No Host Filter进行过滤。
Hide the following Hosts:表示在输入框中,输入了哪些域名信息,就不过滤,不进行监听。如:选中此项,在输入框中,输入www.baidu.com时,此时请求www.baidu.com的请求都不会进行监听,在左侧的session面板中,将不会有www.baidu.com相关请求记录。
Show only the following Hosts:表示在输入框中输入了哪些域信息,就只监听这些域名,其他的域名将不进行监听。如:选中此项,在输入框中,输入www.baidu.com时,只有在访问www.baidu.com的请求才会进行监听,即左侧的sessson中只包含www.baidu.com的请求,其他的请求将不会监听显示。
Flag the following Hosts:表示在输入框中输入了哪些域名信息,在左侧的session面板中,这些配置的域名在监听到时,会加标识(如:加粗)如:选中此项,在输入框中输入www.baidu.com,在访问www.baidu.com时左侧的session面板中,会加标识(加粗)。
如只想显示百度的请求,那么在No Host Filter下拉框选择show only the following Hosts,然后输入www.baidu.com, 最后执行Actions-->Run Filterset now即可实现过滤 :
再次请求时,发现只会接收host为www.baidu.com的请求:
Fiddler之Client Process过滤
进程过滤,通过配置,只监听/不监听哪些进程的请求
-
Show only traffic from:只显示来自选择进程后的请求
-
Show only Internet Exporer traffic:只显示来自IE的请求
-
Hide trafficfrom service host:隐藏来自service host的请求
为防止和Hosts过滤器有所冲突,注意先将Hosts过滤关闭。
Show only traffic from:指定抓取哪个Windows进程中的请求,比如选择chrome:14800
Show only Internet Explorer traffic:只显示IE发出的请求
Fiddler之Request Headers过滤
表示根据请求头信息,进行过滤
常用的功能是Show only if URL contains,比如想抓取URL中包含baidu.com的请求。
Fiddler之Break Points过滤
根据断点,进行配置过滤
-
Break request on HTTP POST :给所有POST请求设置断点
-
Break request on HTTP GET with QueryString :给所有带参数的GET请求设置断点
-
Response Status Code :响应码过滤规则
如使用Break request on HTTP GET with QueryString,那么带参数的get请求都会设置断点。
Fiddler之Response Status Code过滤
根据响应代码进行过滤:
-
Hide success(2xx):隐藏响应成功的请求(2xx);
-
Hide Authentication demands(401,407):隐藏未经授权被拒绝的请求(401,407);
-
Hide redirects(300,301,302,303,307):隐藏重定向的请求(300,301,302,303,307);
-
Hide Not Modified(304):隐藏无变更的请求(304);
比如想隐藏响应成功的请求:
Fiddler之Response Type and Size 过滤
根据响应类型和数据大小,配置过滤:
-
Show all Content-Type:显示所有响应类型,下拉选择显示图片、HTML、json等类型;
-
Hide smaller than ?KB:隐藏小于指定大小的请求;
-
Hide larger than ?KB:隐藏大于指定大小的请求;
-
Time HeatMap:获得即时数据(绿色阴影代表响应时间在50毫秒以内;超过50毫秒但在300毫秒之内的响应条目没有颜色;响应时间在300至500毫秒之间的会涂以黄色;超过500毫秒的用红色底纹显示);
-
Block scriptfiles:阻止脚本文件,显示为404;
-
Block image files:阻止图片文件;
-
Block SWF files:阻止SWF文件;
-
Block CSS files:阻止CSS文件;
比如想查看响应时间超过500毫秒的请求:
Fiddler之Response Headers 过滤
根据响应头信息,配置过滤
-
Flag response that set cookies:标记设置cookie的响应;
-
Flag response with headers:标记带有特定header的响应;
-
Delete response headers:删除响应header;
-
Set response header:设置响应的header;
比如想在响应中设置cookie,使用Set response header
设置完成后,重新请求,响应头里会出现Set-Cookie: 123456
更多系列文章,可以关注微信公众号:ITester软件测试小栈