fiddler-https包抓取
Posted yctest的测试号
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fiddler-https包抓取相关的知识,希望对你有一定的参考价值。
fiddler抓取https原理图:
抓取https步骤:
第一步,Fiddler截获客户端发送给服务器的HTTPS请求,Fiddler伪装成客户端向服务
器发送请求进行握手 。
第二步,服务器发回相应,Fiddler获取到服务器的CA证书, 用根证书公钥进行解密,
验证服务器数据签名, 获取到服务器CA证书公钥。然后Fiddler伪造自己的CA证书,
冒充服务器证书传递给客户端浏览器。第三步,与普通过程中客户端的操作相同,客户端根据返回的数据进行证书校验、生成
密码Pre_master、用Fiddler伪造的证书公钥加密,并生成HTTPS通信用的对称密钥enc_key。
第四步,客户端将重要信息传递给服务器, 又被Fiddler截获。Fiddler将截获的密文用
自己伪造证书的私钥解开, 获得并计算得到HTTPS通信用的对称密钥enc_key。Fiddler将
对称密钥用服务器证书公钥加密传递给服务器。
第五步,与普通过程中服务器端的操作相同,服务器用私钥解开后建立信任,然后再发送
加密的握手消息给客户端。
第六步,Fiddler截获服务器发送的密文, 用对称密钥解开, 再用自己伪造证书的私钥
加密传给客户端。
第七步,客户端拿到加密信息后,用公钥解开,验证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包抓取的主要内容,如果未能解决你的问题,请参考以下文章