fiddler-https包抓取

Posted yctest的测试号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fiddler-https包抓取相关的知识,希望对你有一定的参考价值。

fiddler抓取https原理图:

抓取https步骤:

 
   
   
 
  1. 第一步,Fiddler截获客户端发送给服务器的HTTPS请求,Fiddler伪装成客户端向服务

    器发送请求进行握手 。

  2. 第二步,服务器发回相应,Fiddler获取到服务器的CA证书, 用根证书公钥进行解密,

    验证服务器数据签名, 获取到服务器CA证书公钥。然后Fiddler伪造自己的CA证书,
    冒充服务器证书传递给客户端浏览器。

  3. 第三步,与普通过程中客户端的操作相同,客户端根据返回的数据进行证书校验、生成

    密码Pre_master、用Fiddler伪造的证书公钥加密,并生成HTTPS通信用的对称密钥enc_key。

  4. 第四步,客户端将重要信息传递给服务器, 又被Fiddler截获。Fiddler将截获的密文用

    自己伪造证书的私钥解开, 获得并计算得到HTTPS通信用的对称密钥enc_key。Fiddler将

    对称密钥用服务器证书公钥加密传递给服务器。

  5. 第五步,与普通过程中服务器端的操作相同,服务器用私钥解开后建立信任,然后再发送

    加密的握手消息给客户端。

  6. 第六步,Fiddler截获服务器发送的密文, 用对称密钥解开, 再用自己伪造证书的私钥

    加密传给客户端。

  7. 第七步,客户端拿到加密信息后,用公钥解开,验证HASH。握手过程正式完成,客户端

    与服务器端就这样建立了”信任“。

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


Fiddler抓取HTTPS设置:

        点击工具栏Tools-Options

        勾选“CaptureHTTPS CONNECTs”,接着勾选“Decrypt HTTPS traffic”

        下面的选项框:

        from all processes 来自所有的进程,包括客户端和浏览器

        from browsers only  只接受来自浏览器的请求

        from non-browsers only  只接受来自非浏览器的请求

        from remote clients only   只接受来自远程的客户端请求

        如果你要监听的程序访问的HTTPS站点使用的是不可信的证书,则请接着把下面的“Ignore servercertificate errors”勾选上



以上是关于fiddler-https包抓取的主要内容,如果未能解决你的问题,请参考以下文章

python抓取m3u8文件,并提取.ts文件合成视频

使用 python 抓取谷歌精选片段

Fidder IOS抓包

Spider实战系列-抓取《一人之下第三季》

具有运行时 pojos 的带有 Hibernate 的 OSGi 片段包

如何抓取安卓App Http请求的数据包