charles、Fiddler抓取https原理
来源:互联网 发布:apache运行php文件 编辑:程序博客网 时间:2024/05/17 04:55
以下文章来自知呼大神解释! 很清楚!
http://www.zhihu.com/question/24484809
作者:易心玄
链接:http://www.zhihu.com/question/24484809/answer/70126366
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:http://www.zhihu.com/question/24484809/answer/70126366
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
首先fiddler截获客户端浏览器发送给服务器的https请求, 此时还未建立握手。
第一步, fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。
第二步, fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器做跟fiddler一样的事。
第三步, 客户端浏览器生成https通信用的对称密钥, 用fiddler伪造的证书公钥加密后传递给服务器, 被fiddler截获。
第四步, fiddler将截获的密文用自己伪造证书的私钥解开, 获得https通信用的对称密钥。
第五步, fiddler将对称密钥用服务器证书公钥加密传递给服务器, 服务器用私钥解开后建立信任, 握手完成, 用对称密钥加密消息, 开始通信。
第六步, fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端浏览器。
第七步, 客户端向服务器发送消息, 用对称密钥加密, 被fidller截获后, 解密获得明文。
由于fiddler一直拥有通信用对称密钥, 所以在整个https通信过程中信息对其透明。
第一步, fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。
第二步, fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器做跟fiddler一样的事。
第三步, 客户端浏览器生成https通信用的对称密钥, 用fiddler伪造的证书公钥加密后传递给服务器, 被fiddler截获。
第四步, fiddler将截获的密文用自己伪造证书的私钥解开, 获得https通信用的对称密钥。
第五步, fiddler将对称密钥用服务器证书公钥加密传递给服务器, 服务器用私钥解开后建立信任, 握手完成, 用对称密钥加密消息, 开始通信。
第六步, fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端浏览器。
第七步, 客户端向服务器发送消息, 用对称密钥加密, 被fidller截获后, 解密获得明文。
由于fiddler一直拥有通信用对称密钥, 所以在整个https通信过程中信息对其透明。
附带: https 协议加密解密过程
0 0
- charles、Fiddler抓取https原理
- Fiddler抓取https原理?
- Fiddler抓取https的原理
- HTTPS-使用Fiddler抓取HTTPS数据包原理
- charles抓取https请求
- Charles抓取https请求
- Charles抓取https
- Charles抓取https请求
- charles 抓取https
- Charles: 抓取Https包
- charles抓取https请求
- Fiddler抓取HTTPs流量
- Fiddler抓取HTTPS设置
- Fiddler抓取HTTPS请求
- Fiddler抓取HTTPs流量
- Fiddler抓取https设置
- fiddler抓取https
- Fiddler抓取HTTPS包
- 编程之美2.10寻找数组中的最大值和最小值Java版
- RabbitMQ介绍
- linux awk命令详解
- 数据结构——迷宫问题
- DNS服务器配置
- charles、Fiddler抓取https原理
- 14.3节练习
- android各种开源库学习网站
- oracle数据迁移快速导入导出:利用sqluldr2导出数据和sqlldr导入数据的方法
- 第十四周项目:程序阅读(三)
- 请使用 -Xlint:deprecation 重新编译
- Ubuntu镜像下载
- 设置sessionStorage和localStorage的过期时间
- android permiss manager (安全软件获取权限 禁用 可用 提示状态)