Fiddler抓不到浏览器包的常见原因

代理未设置成功

fiddler 之所以能抓包,本质上是因为浏览器/App/软件设置了代理为 fiddler。一旦遇到抓不到包的情况,首先应排查浏览器代理是否设置正确。

以 Chrome 为例,代理设置为:

右上角菜单按钮 > 设置 > 高级 > 系统 > 打开您计算机的代理设置

确保代理是打开并正确设置为 Fiddler,以下图为例使用代理服务器开关都是关的,fiddler 是不可能抓到 Chrome 包的

另外有一个坑也许有部分学员会遇到,那就是需要科学上网所以使用的 VPN,此时打开 fiddler 肯定也是抓不到包的,本质也是代理没有设置为 fiddler。

误点击或设置了不抓包

在 fiddler 界面上有两个位置(设置)可以作为 fiddler 是否抓包的开关,一是 fiddler 菜单项中 Capture Traffic 选项,另一个是 fiddler 面板最左下角位置,单击可以切换是否抓包。

请确认是否勾选该选项及确保左下角位置的状态为 Capturing。

开启了过滤器

一般是不小心开启了过滤器,或者设置了过滤规则把我们的目标请求给过滤掉了。这个最坑了,许多人包括我都遇到过多次,忘记了 filter 这回事。

filter 功能可以设置多维度的过滤规则,如根据主机、进程、请求头、响应头、状态码、响应类型和大小、断点进行请求的过滤。如果我们开启了过滤器,并且在过滤中设置了规则,而目标请求由不符合规则的话,这些请求将被 Fiddler 给过滤掉,从而无法在会话列表上显示出来,让我们误以为没有抓到包,然后进行各种骚操作:重启、排查代理、重装 fiddler.... 折腾半天后才发现原来 filter 打开了,其实关掉 filter 就好了。

比如当进行如下设置时,我们只能抓到主机为 test.lemonban.com 的包,其余包都将被过滤掉:

未开启 https 抓包

一般线上项目才会采用 HTTPS 协议进行超文本的安全传输,fiddler 需要通过伪造证书才可以对 HTTPS 请求进行加解密,从而在会话面板上线上出来,倘若 fiddler 的根证书没有安装或安装不正确,则没办法捕获 HTTPS 的流量,此时只需要安装 fiddler 根证书即可。
 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值