1、Fiddler 是在客户端和服务端之间建立的的 HTTP 代理服务器,能够监听客
户端发出的请求和服务端返回的响应结果。
2、图解:
2.1、在客户端和服务器之间,建立了一个HTTP代理服务器。
2.2、当启动的时候,Fiddler会默认把自己设置为系统代理,来监听客户端
的HTTP/HTTPS请求。
2.3、默认代理地址为:127.0.0.1 默认端口为:8888。
2.4、浏览器访问WEB网站的时候,请求报文会先发送到Fiddler。
2.5、Fiddler 再把请求报文转发给服务器。
2.6、Web服务器返回的响应报文,也会先达到Fiddler,Fiddler 再把响应报文返回给浏览器。
3、原理解析
3.1、Fiddler 启动的时候,会把自己设置为系统代理。
双击启动Fiddler 后,依次点击操作系统的开始菜单–>设置–>网络和
Internet–>代理,可以看到手动设置代理这里,<使用代理服务器>的开关变为「开」,地址的内容为Fiddler的代理地址,端口为8888。如图:
我们还可以看一下Fiddler操作界面。依次点击Fiddler菜单栏–>Tools–
Options,选Connections,可以看到Fiddler默认的端口是8888。如图:
由此,充分说明Fiddler作为一个服务器启动,它默认占用的端口为8888,
启动的同时,会自动去修改操作系统的代理设置。
此外,我们还可以在浏览器的地址栏中,输入:http://localhost:8888 ,
可以看到出现一个和Fiddler相关的网页。
当关闭Fiddler后,系统代理开关又自动变回「关」状态,地址栏中内容变
为空,客户端请求和服务端响应不再通过Fiddler进行代理转发。
4、抓包
当我们访问网页时,浏览器会通过 HTTP(S) 协议向服务端请求资源,当开
启 Fiddler 后,HTTP 请求不会直接发送给服务端,而是需要通过 Fiddler
代理进行转发,服务端收到请求进行响应,服务端响应同样会通过 Fiddler
代理进行转发。在 Fiddler 左侧的会话列表,我们可以看到刚才浏览过的
所有网页,会话列表中的1 条 session 对应 1 个(HTTP/HTTPS)请求。