首先fiddler截获客户端浏览器发送给服务器的https请求, 此时还未建立握手。
第一步, fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。
第二步, fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器做跟fiddler一样的事。
第三步, 客户端浏览器生成https通信用的对称密钥, 用fiddler伪造的证书公钥加密后传递给服务器, 被fiddler截获。
第四步, fiddler将截获的密文用自己伪造证书的私钥解开, 获得https通信用的对称密钥。
第五步, fiddler将对称密钥用服务器证书公钥加密传递给服务器, 服务器用私钥解开后建立信任, 握手完成, 用对称密钥加密消息, 开始通信。
第六步, fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端浏览器。
第七步, 客户端向服务器发送消息, 用对称密钥加密, 被fidller截获后, 解密获得明文。
由于fiddler一直拥有通信用对称密钥, 所以在整个https通信过程中信息对其透明。

以上来自:https://www.zhihu.com/question/24484809

基本上跟自己的猜测一样。

以上所有步骤的前提是我们在自己电脑上安装了fidller的根证书(看下下图中受信任的根证书颁发机构那里,颁发者和颁发给都是fidller,所以fidller是根证书,它可以继续给其他网站颁发证书,例如baidu)

这个证书是fidller自己给自己颁发的,就像12306.cn一样,自己给自己颁发的,闹着玩。但是我们主动把它添加到了受信任的根证书颁发机构,所以我们计算机是认可这个证书的。

以请求https://www.baidu.com为例根据自己理解详细说明上述步骤

1、浏览器向百度发出握手请求,被fidller截获,变成fidller向百度发出握手请求,百度将自己的SSL证书(由CA颁发,里面包含了百度的公钥以及百度的一些相关信息)返回,被fidller截获,fidller用CA的公钥解开百度的证书,拿到百度的公钥

2、 fidller把自己的公钥替换掉百度的公钥,修改证书相关信息(比如修改百度证书颁发机构),以达到冒充百度的目的,然后用自己的私钥重新加密百度的证书发送给浏览器(原文是说的fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器,这有点含糊其辞,所以写下自己的理解)。

3、由于添加了fidller的根证书,所以浏览器是能正常打开fidller传来的伪造的百度证书的(可以用fidller的公钥解密),然后浏览器生成随机码,用冒充的百度公钥(实际是fidller的公钥)加密随机码然后发出,被fidller截获

4、fidller用自己私钥解开随机码,获得通讯的对称秘钥

5、fidller用百度的公钥加密对称秘钥,然后传给百度,百度用自己私钥解开对称秘钥,这样双方就能使用加密传输了

6、fidller收到百度发来的密文,由于它也保存了对称秘钥,所以它可以解开密文,这样我们就能使用fidller看到加密的https的密文了,然后fidller再次用对称秘钥加密发送给浏览器。

7、浏览器向百度发送密文被fidller截获,然后fidller加密后再发送给百度

如此这般,循环往复...

Fiddler抓取https原理的更多相关文章

  1. Fiddler抓取https原理?

    参考:http://blog.csdn.net/xoopx/article/details/51577039 首先fiddler截获客户端浏览器发送给服务器的https请求, 此时还未建立握手.第一步 ...

  2. fiddler软件测试——Fiddler抓取https设置详解(图文)(摘抄)

    随笔- 8  文章- 0  评论- 0 fiddler软件测试——Fiddler抓取https设置详解(图文)   强烈推荐(原创亲测)!!!Fiddler抓取https设置详解(图文)转 本文主要说 ...

  3. fiddler软件测试——Fiddler抓取https设置详解(图文)

    强烈推荐(原创亲测)!!!Fiddler抓取https设置详解(图文)转 本文主要说明了自己在设置fiddler抓取https过程中所遇到的问题及解决步骤,特别是fiddler在设置证书的环节遇到的各 ...

  4. Fiddler抓取https设置详解

    很多使用fiddler抓包,对于http来说不需太多纠结,随便设置下就能用,但是抓取https就死活抓不了, 出现诸如以下问题: creation of the root certificate wa ...

  5. Fiddler抓取https相关设置

    转自:https://www.cnblogs.com/joshua317/p/8670923.html 很多使用fiddler抓包,对于http来说不需太多纠结,随便设置下就能用,但是抓取https就 ...

  6. 『言善信』Fiddler工具 — 15、使用Fiddler抓取HTTPS请求

    目录 1.Fiddler抓取HTTPS过程 2.拓展:SSL/TLS证书握手原理 3.Fiddler抓取HTTPS原理总结 4.Fiddler抓取HTTPS设置 步骤1:配置证书 步骤2:勾选设置 5 ...

  7. HTTPS-使用Fiddler抓取HTTPS数据包原理

    最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...

  8. Fiddler抓取https设置及其原理

    iddler抓取https设置及其原理 2018-02-02 目录 1 HTTPS握手过程2 Fiddler抓取HTTPS过程3 Fiddler抓取HTTPS设置参考 数字签名是什么? 1 HTTPS ...

  9. 浅谈HTTPS以及Fiddler抓取HTTPS协议

    最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...

随机推荐

  1. MySql数据库转设计文档(mysql-font工具和sql语句导出)

    一.工具导出 1.使用的是MySQL-Front工具,这个工具使用非常方便,尤其是导出数据的时候,几百万的数据一两分钟就导完了,推荐使用. MySQL-Front下载(只有3.93M):http:// ...

  2. gdbhooks 栈信息

    https://devguide.python.org/gdb/ https://sourceware.org/gdb/current/onlinedocs/gdb/Python.html#Pytho ...

  3. CSS清除浮动方法集合

    CSS清除浮动方法集合 一.浮动产生原因   -   TOP 一般浮动是什么情况呢?一般是一个盒子里使用了CSS float浮动属性,导致父级对象盒子不能被撑开,这样CSS float浮动就产生了. ...

  4. ubuntu上保存防火墙规则

    与CentOS不同,ubuntu的iptables规则不是写在系统文件/etc/sysconfig/iptables 中的(至少1204 1404不是这样的) 保存: ubuntu的iptables建 ...

  5. GANomaly: Semi-Supervised Anomaly Detection via Adversarial Training-1-论文学习

    通过对抗训练实现半监督的异常检测 Abstract 异常检测在计算机视觉中是一个经典的问题,即从异常中确定正常,但是由于其他类(即异常类)的样本数量不足,所以数据集主要基于一个类(即正常类).虽然该问 ...

  6. php报错syntax error, unexpected T_GOTO, expecting T_STRING,报错文件与行数指向以下代码,是什么原因?

    本机php版本是5.3.8,Apache/2.2.21public function goto($url, $msg=NULL) {if ($msg) {$this->jsAlert($msg) ...

  7. WPF窗体自适应分辨率

    使用WPF创建一个窗体(Window)时,如果设置了固定的高度(Height)和宽度(Width),一旦用户的电脑分辨率过低,就会使得窗体及其中的内容无法完整地显示出来.要解决这个这个问题,有以下几个 ...

  8. 【DataBase】H2 DateBase的简单使用

    H2介绍 H2是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提供了一个十分方便的web控制台用于操作和管理数据库内容. H2还提供兼容模式,可以兼容一些主流的数据库,因此 ...

  9. 【源码解析】Flink 是如何基于事件时间生成Timestamp和Watermark

    生成Timestamp和Watermark 的三个重载方法介绍可参见上一篇博客: Flink assignAscendingTimestamps 生成水印的三个重载方法 之前想研究下Flink是怎么处 ...

  10. 【2B设计】途牛商旅全案设计

    整体设计方案: 途牛商旅全案设计 https://www.uisdc.com/tuniu-business-travel