背景介紹
HTTPS加密方式介紹
瀏覽器-->SSL Client Hello(我支持這些加密方式)-->服務器
瀏覽器<-SLL Server Hello(就用這種加密,然后下面是我的證書)-<--服務器
瀏覽器-->證書驗證ok,拿證書里的公鑰加密key,告訴服務器-->服務器
瀏覽器<--私鑰解密,得到key<--服務器
開始以對稱密鑰的方式,加密通信,密鑰即key
如何解密
+------------+ +------------+ +-----------------+
| Computer A | Wireshark | Computer B | | |
| +---------->| +------> | Exchange Server |
| Outlook | | Fiddler | | |
+------------+ +------------+ +-----------------+
http://lin.xiaogang.me/?p=134
工具下載
http://pan.baidu.com/s/1i30xkjz
具體步驟
1. 環境准備
Windows: 10.69.32.150(外網IP), 192.168.65.1(Vmware虛擬網卡IP)
Fiddler: 4.4.8.0
VMWare ubuntu: 192.168.65.131
WireShark: 1.8.2
Chrome: 34.0
2.流程
2.1 啟動Fiddler, Tools-->Fiddler Options --> HTTPS
Capture HTTPS CONNECTs
Decryp HTTPS traffic
Export root Certificate to Desktop,得到FiddlerRoot.cer
命令行: about:config
添加 fiddler.certmaker.bc.keyprovidertype = TRUE
2.2 ubuntu下添加根證書
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n Whatever_Name -i FiddlerRoot.cer
2.2 為Chrome配置代理
192.168.65.1:8888
2.3 ubuntu Wireshark抓包
2.4 Chrome訪問HTTPS網站
2.5 Fiddler命令行下
!dumpcerts, 能將所有https連接的公鑰、私鑰都dump到一個文件夾里面
2.6 Wireshark停止抓包,並解密
edit->preference->protocol:ssl, RSA key list,配置ip,port,http,keyfile(指向私鑰xx.pem文件)
windows下的Wireshark:輸入192.168.65.1,8888,http,D:/xx.pem
!done
