Fiddler抓包HTTPS请求过程:
- Fiddler截获客户端发送给服务器的HTTPS请求,此时还未建立握手。
- Fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。然后Fiddler伪造自己的CA证书,冒充服务器证书传递给客户端。
- 客户端根据返回的数据进行证书校验、生成密码Pre_master、用Fiddler伪造的证书公钥加密,并生成HTTPS通信用的对称密钥enc_key。
- 客户端发送信息到服务器,被Fiddler截获。Fiddler将截获的密文用自己伪造证书的私钥解开, 获得https通信用的对称密钥enc_key,然后将对称密钥用服务器证书公钥加密传递给服务器。
- 服务器用私钥解开后建立信任,然后再发送加密的握手消息给客户端。
- Fiddler截获服务器发送的密文, 用对称密钥解开, 再用自己伪造证书的私钥加密传给客户端。
- 客户端拿到加密信息后,用公钥解开,验证HASH。握手过程正式完成,客户端与服务器建立了信任。
Fiddler抓包HTTPS设置
Fiddler查看HTTPS的请求数据 省略