踩坑总结,Fiddler抓包-抓不到包的常见原因 + 解决方法(超详细)

前言

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根证书即可。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
会蹦的鱼11 分钟前
知识了解02——了解pnpm+vite+turbo+monorepo的完整构建步骤(react子项目)
前端·javascript·react.js
@PHARAOH13 分钟前
HOW - 如何测试 React 代码
前端·react.js·前端框架
涵信13 分钟前
第三节:React 基础篇-React组件通信方案
前端·javascript·react.js
90后的晨仔17 分钟前
Flutter 报错 [☠] Network resources (the doctor check crashed)xxxx
前端·flutter
Mintopia30 分钟前
深入理解 Three.js 中的 WebGLRenderer
前端·javascript·three.js
白冷35 分钟前
在 Wireshark 中如何筛选数据包
网络·测试工具·wireshark
HsuYang38 分钟前
Nuxt框架学习(一)——从简单的SSR起步
前端·javascript·架构
第三方软件测评44 分钟前
科技项目验收测试包括哪些内容?有什么作用?
软件测试·科技
爷傲奈我何!1 小时前
小程序中实现音频播放(原生 + uniapp)
前端·vue.js