fiddler工作原理(简单说说Fiddler的工作原理)

不知道读者在使用 Fiddler 软件时,是否考虑过 Fiddler 是怎样抓包的,原理是什么?

Fiddler 本质上是一个 Web 代理服务器,默认的工作端口是 8888。查看端口方式为,点击菜单 “Tools”,选择“Options...” 菜单项,如下图:

fiddler工作原理(简单说说Fiddler的工作原理)(1)

在打开的 “Options” 配置框的 “Connections” 选项卡,如下图:

fiddler工作原理(简单说说Fiddler的工作原理)(2)

什么是 Web 代理服务器?

Web 代理(Web Proxy Server)服务器是网络的中间实体。Web 代理位于 Web 客户端和 Web 服务器之间,扮演 “中间人” 的角色。HTTP 代理服务器既是 Web服务器又是 Web客户端。如下图:

fiddler工作原理(简单说说Fiddler的工作原理)(3)

上图中,浏览器发起请求到 Fiddler 代理服务器,然后由 Fiddler 代理服务将请求转发给真实的服务器。服务器收到请求后,进行各种处理,然后将响应返回给 Fiddler 代理服务器,Fiddler 代理服务器再将响应返回给浏览器。

既然浏览器的请求和服务器的响应均要通过 Fiddler 代理服务器来转发,在进行转发之前,我们可以对请求/响应报文进行任何操作。例如:修改请求参数、修改响应数据、在请求发送到服务器之前打断点、在响应到达浏览器之前打断点、创建Mock服务等等。

代理服务器的作用

(1)共享网络:能解决仅仅有一条线路、一个公有 IP 的问题。在公有 IP 资源严重不足的情况下,可以满足局域网大量用户同时共享上网的需求。

(2)提高了访问速度:因为大部分的代理服务器都有缓存功能,可以直接从缓存读取,无须再连接到远程 Web 服务器,下载访问资源。这可以加快访问网站的速度、节约带宽资源。

(3)突破访问限制:当访问权限受到限制时,可以使用有权限的代理服务器去访问受限资源。

(4)隐藏身份:内部网络的用户要对外发布信息,就需要使用代理服务器的反向代理功能。这样就不会影响内部网络的安全性能,起到隐藏身份的目的。

Fiddler 工作原理

在了解工作原理前,我们先看看一个具体实例。详细步骤如下:

(1)打开 Fiddler 软件,处于抓包状态的 Fiddler 监听的端口是 8888,如下图:

fiddler工作原理(简单说说Fiddler的工作原理)(4)

(2)打开 “控制面板”,选择 “Internet选项”。选择 “连接” 选项卡,然后点击 “局域网设置(L)” 按钮,如下图:

fiddler工作原理(简单说说Fiddler的工作原理)(5)

在局域网设置弹框中,选择 “高级” 按钮。如下图:

fiddler工作原理(简单说说Fiddler的工作原理)(6)

打开“代理设置”弹框,如下图:

fiddler工作原理(简单说说Fiddler的工作原理)(7)

从上图中可知,其实 Fiddler 已经自动将系统 HTTP 和 HTTPS 代理设置为 127.0.0.1:8888 了。如果我们浏览器默认使用的是系统代理,那么 Fiddler 就能正常抓包了。

但是,Firefox 浏览器是个例外,它可以手动配置是否使用系统代理设置,如果设置不是使用系统代理设置,则 Fiddler 将抓不到 Firefox 浏览器的包。如下图:

fiddler工作原理(简单说说Fiddler的工作原理)(8)

如果我们此时将 Fiddler 关闭,再次查看 “Internet选项” 关于局域网的设置。如下图:

fiddler工作原理(简单说说Fiddler的工作原理)(9)

上图中,已经没有配置代理服务器信息了,即不走代理,Fiddler 也就不能抓包了。

通过上面的例子的分析,应该明白为什么 Fiddler 能够抓包了吧!!

Fiddler 抓包的原理和我们生活中快递代收点类似,快递员将我们的快递放在代收点(如果我们快递没有使用胶带等封口,那么代收点是不是可以任意查看、替换我们快递中的东西,这就类似HTTP;如果我们快递使用胶带等封了口的,那么代收点就不能随意查看快递中是什么、甚至替换,这就类似HTTPS),我们有时间就到代收点去取快递。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页