美文网首页
Fiddler抓包https原理剖析

Fiddler抓包https原理剖析

作者: Saxon_323e | 来源:发表于2018-10-30 11:54 被阅读0次

一,首先来普及下SSL/TLS证书握手原理(这里主要讨论单向证书,因为通常都是单向证书,双向证书大同小异)

知识延伸:

二、Fiddler抓取https原理

1、抓取HTTPS过程

第一步,Fiddler截获客户端发送给服务器的HTTPS请求,Fiddler伪装成客户端向服务器发送请求进行握手 。

第二步,服务器发回相应,Fiddler获取到服务器的CA证书, 用根证书(这里的根证书是CA认证中心给自己颁发的证书)公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。然后Fiddler伪造自己的CA证书(这里的CA证书,也是根证书,只不过是Fiddler伪造的根证书), 冒充服务器证书传递给客户端浏览器。

第三步,与普通过程中客户端的操作相同,客户端根据返回的数据进行证书校验、生成密码Pre_master、用Fiddler伪造的证书公钥加密,并生成HTTPS通信用的对称密钥enc_key。

第四步,客户端将重要信息传递给服务器, 又被Fiddler截获。Fiddler将截获的密文用自己伪造证书的私钥解开, 获得并计算得到HTTPS通信用的对称密钥enc_key。Fiddler将对称密钥用服务器证书公钥加密传递给服务器。

第五步,与普通过程中服务器端的操作相同,服务器用私钥解开后建立信任,然后再发送加密的握手消息给客户端。

第六步,Fiddler截获服务器发送的密文, 用对称密钥解开, 再用自己伪造证书的私钥加密传给客户端。

第七步,客户端拿到加密信息后,用公钥解开,验证HASH。握手过程正式完成,客户端与服务器端就这样建立了”信任“。

在之后的正常加密通信过程中,Fiddler如何在服务器与客户端之间充当第三者呢?

服务器—>客户端:Fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端。

客户端—>服务端:客户端用对称密钥加密,被Fiddler截获后,解密获得明文。再次加密,发送给服务器端。由于Fiddler一直拥有通信用对称密钥enc_key, 所以在整个HTTPS通信过程中信息对其透明。

2、Fiddler抓取HTTPS设置

从上面可以看到,fiddler相当于代理,客户端和服务器交互都要通过fiddler,Fiddler抓取HTTPS协议成功的关键是根证书(根证书是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任。),这是一个信任链的起点,这也是Fiddler伪造的CA证书能够获得客户端和服务器端信任的关键。

没有受信任的fiddler根证书,不能让客户端相信fiddler伪造的CA证书,从而得到Pre_master。

接下来我们就来看如果设置让Fiddler抓取HTTPS协议。

Fiddler菜单->Tools->Telerik Fiddler Options

在跳出的对话框点击‘Yes’

在跳出的对话框点击‘是(Y)’后,通过IE的Internet选项,我们可以看到Fiddler的根证书被加入到“受信任的根证书颁发机构”。

3、Chrome下Fiddler证书查看

三、Fiddler安装配置采坑

1,无法安装信任证书

从官网上下载后安装fiddler完成,然后点击 tools -> https -> action 安装的时候,

出现错误1:

The root certificate could not be located.

解决办法:

载并安装Fiddler证书生成器:

下载地址:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2

参考文献:https://blog.csdn.net/SomeOne_yt/article/details/53149402

出现错误2:

意外退出Fiddler,再也无法上网?

解决参考我另一篇:https://www.jianshu.com/p/2fa3b89f001e

相关文章

  • Fiddler抓包https原理剖析

    一,首先来普及下SSL/TLS证书握手原理(这里主要讨论单向证书,因为通常都是单向证书,双向证书大同小异) 知识延...

  • fiddler抓包配置及使用过程

    fiddler抓包原理 配置 打开Fiddler Tool->Fiddler Options->HTTPS 。 ...

  • fiddler 手机 https 抓包

    fiddler手机抓包原理 fiddler手机抓包的原理与抓pc上的web数据一样,都是把fiddler当作代理,...

  • 使用fiddler抓取php curl请求

    fiddler抓包原理 Fiddler的抓包方式:打开Fiddler后,自动设置浏览器代理到127.0.0.1:8...

  • Fiddler实现手机端抓包

    Fiddler实现手机端抓包 1: 下载fiddler 2:因为fiddler抓包的原理就是通过代理,所以被测终端...

  • fiddler学习

    1 http协议和fiddler抓包 Fiddler抓包的原理:fiddler本质是一个代理服务器,默认的工作端口...

  • fiddler 系列

    fiddler抓包HTTPS(侧重环境搭建) fiddler抓包工具总结(侧重软件的说明) Fiddler显示响应...

  • Fiddler抓包原理

    1,Fiddler抓包原理 Fiddler为什么可以抓包,Fiddler本质上是一个web代理服务器,默认的工作端...

  • fiddler抓包HTTPS

    fiddler的http、https的抓包功能非常强大,可非常便捷得对包进行断点跟踪和回放,但是普通的配置对于像招...

  • Fiddler抓https包

    参考 https://blog.csdn.net/qq_38839677/article/details/8483...

网友评论

      本文标题:Fiddler抓包https原理剖析

      本文链接:https://www.haomeiwen.com/subject/rixgtqtx.html