Fiddler的工作原理(二)

一、Fiddler的工作原理

1、什么是Fiddler

Fiddler是一款强大的多功能工具,它是一个HTTP协议调式代理工具,能够记录客户端和服务器之间所有的HTTP请求,可以针对特定的HTTP请求,通过代理来进行抓包,分析请求数据,设置断点,调试web应用,修改请求数据,设置可以修改服务器返回的数据。


2、工作原理

Fiddler是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888,当Fiddler启动后将自己变成一个代理服务器,默认监听127.0.0.1:8888,然后打开IE的时候,IE浏览器会以127.0.0.1:8.退出的时候他会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,就不会自动注销 ,会造成网页无法访问。

Fiddler的工作原理(二)

浏览器<----->Fiddler<---->服务器

首先浏览器向服务器发送HTTPS请求,被FIDDLER截获(获取到所有request信息,设置一个断点,然后停掉把所有的参数都改掉),此时还没有建立握手

第一步:Fiddler向服务器发送请求进行握手,获取到服务器的CA证书,用根证书公钥进行解密验证服务器数据签名,获取到服务器CA证书公钥

第二步:Fiddler伪造自己的CA证书,冒充服务器证书传递给客户端浏览器,客户端浏览器做跟Fiddler一样的事

第三步:客户端浏览器生成HTTPS通信用的对称**,用Fiddler伪造的证书公钥加密传递给服务器,被Fiddler截获。

第四步:Fiddler将截获的密文用自己伪造证书的私钥解开,获得HTTPS通信用的对称**。

第五步:Fiddler将对称**用服务器证书公钥加密传递给服务器,服务器用私钥解开后建立信任,握手完成,用对称**加密消息,开始通信

第六步:Fiddler接收到服务器发送的密文,用对称**解开,获得服务器发送的明文。再次加密,发送给客户端浏览器。

第七部:客户端向服务器发送消息,用堆成**加密,被Fiddler截获后,解密获得明文

由于Fiddler一直拥有通信用的对称**,所以在整个HTTPS通信过程中,信息对其透明。


3、下载地址:https://www.telerik.com/download/fiddler/fiddler4