在使用Fiddler时,会抓到很多进程,这时候我们想找到自己所测试的域名网址,就需要利用过滤器。
根据filter面板给出的选择,过滤的方式有很多种——Host域名过滤、客户端进程过滤、请求头过滤、响应类型过滤、响应头过滤等。
在进行过滤条件设置前,先勾选“Use Filters”选项,在设置好过滤条件后,点击【Run Filterset Now】,使用过滤条件。(ps:最好不要几种过滤条件同时使用,忘记修改可能会导致条件冲突~条件冲突对很多Fiddler初学者来说,会有点懵==’)
1、 域名过滤:
(1) 精确域名过滤:在Host区域的输入框输入想要过滤掉或想看到的域名,下拉选择条件“Show only the following Hosts”、“Hide the following Hosts”等,即可完成域名过滤;
(2) “简约”域名过滤:我说的这个“简约”域名过滤可以认为是非精确域名过滤,因为这种方法只需要在输入框输入符合格式要求的host内容即可,无需十分精确;“简约”域名过滤时输入的host格式可以为“*.myhost.com”,这样,可以避免不同测试环境每次修改域名的麻烦,而且保证每次抓包结果是测试所需要的;
2、 进程过滤:
(1) 在客户端进程区域,勾选或添加所需要的过滤条件即可,常用 “只展示来自【下拉框】的进程流”,选择好后,启用即可;若勾选“只展示包括【输入内容】的URL”,一般针对远程(手机端)进程进行筛选(PS:URL输入框支持输入正则表达式);
(2) 浏览器和非浏览器进程过滤:在Fiddler界面左侧底部区域,可以选择“全部进程”, “全部隐藏(停止抓包)”,“浏览器进程”,“非浏览器进程”;
3、CSS、图片过滤:
在参考大家的方法后,记录了一个使用正则表达式来完成图片过滤的方法:
REGEX:(?insx)/[^?/].(css|ico|jpg|png|gif|bmp|wav)(?.)?$,将该语句写在Headers 中的 Hide if url contains【输入】中,就可以过滤掉url中带有图片格式后缀的请求,“(?insx)”是忽略大小写的意思。