1,什么是Fiddlerweb
Fiddler是一个http协议调试代理工具,它可以记录客户端和服务器之间的全部 HTTP请求,能够针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至能够修改服务器返回的数据,功能很是强大,是web调试的利器。我这里找不到包就是由于代理的问题。
2,Fiddler工做原理浏览器
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向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。
第二步, fiddler伪造本身的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器作跟fiddler同样的事。
第三步, 客户端浏览器生成https通讯用的对称密钥, 用fiddler伪造的证书公钥加密后传递给服务器, 被fiddler截获。
第四步, fiddler将截获的密文用本身伪造证书的私钥解开, 得到https通讯用的对称密钥。
第五步, fiddler将对称密钥用服务器证书公钥加密传递给服务器, 服务器用私钥解开后创建信任, 握手完成, 用对称密钥加密消息, 开始通讯。
第六步, fiddler接收到服务器发送的密文, 用对称密钥解开, 得到服务器发送的明文。再次加密, 发送给客户端浏览器。
第七步, 客户端向服务器发送消息, 用对称密钥加密, 被fidller截获后, 解密得到明文。
因为fiddler一直拥有通讯用对称密钥, 因此在整个https通讯过程当中信息对其透明。工具
3,fiddler安装后抓不了包的问题加密
通常能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。 Fiddler启动的时候默认IE的代理设为了127.0.0.1:8888,而其余浏览器是须要手动设置的,因此将浏览器的代理改成127.0.0.1:8888就能够监听数据了。代理