博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
fiddler工作原理和代理设置
阅读量:6676 次
发布时间:2019-06-25

本文共 1138 字,大约阅读时间需要 3 分钟。

1,什么是Fiddler

  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就可以监听数据了。

 

转载于:https://www.cnblogs.com/wangcp-2014/p/6228541.html

你可能感兴趣的文章
centos6.5-VMware虚拟机-双网卡绑定
查看>>
scala言语基础学习二
查看>>
《团队-科学计算器-项目总结》
查看>>
理解单例模式
查看>>
从零开始,搭建博客系统MVC5+EF6搭建框架(1),EF Code frist、实现泛型数据仓储以及业务逻辑...
查看>>
软件工程结对作业01
查看>>
JZ-C-26
查看>>
Ng线性回归实现学习[转载]
查看>>
express的proxy实现前后端分离
查看>>
第一个 Metro程序(空白应用程序)
查看>>
面向对象----方法的重载
查看>>
linux降级重新安装gcc
查看>>
iOS网络编程之同步、异步、请求队列 2014-12-7
查看>>
链表的应用~~~~~~一元多项式的相加——原创
查看>>
阿花宝宝 Java基础笔记 之 多态
查看>>
HTML5学习之路——HTML 5 Web 存储
查看>>
enum和int、string的转换操作
查看>>
C# ACCESS数据库操作类
查看>>
详解vue通过NGINX部署在子目录或者二级目录实践
查看>>
括号匹配算法思想
查看>>