(一)原理分析
https的數據包是用對稱秘鑰(https協議協商出來的隨機數)加密后的密文。
對稱秘鑰在傳輸線路上是密文的(被非對稱加密過),但是在client、server端是明文的(因為要用於加解密)。
對稱秘鑰如何獲取?谷歌瀏覽器有一個接口,chrome瀏覽器的https協議中的對稱秘鑰會保存在”SSLKEYLOGFILE" (windows的一個環境變量,值為自定義的一個文本文件)中,wireshark有讀取對稱秘鑰文件的接口。
這樣一來,就可以抓包和解密了。
說明:不要以為會獲取對稱秘鑰就可以破解網絡上任意的https數據包了。這個對稱秘鑰是臨時協商出來的。你下一次訪問,對稱秘鑰又要改變了。所以,你不參與到client、server端,只參與到傳輸過程抓包,是無法獲取當時的對稱秘鑰的(被非對稱秘鑰加了密),也就無法解密https的。所以本文名稱為(在客戶端)https抓包解密。
(二)操作演示
1、獲取對稱秘鑰
1)windows中設置全局變量
新建一個文件:D:\Temp\sslkey.log (空文件,不用管里面的內容)
配置環境變量:
變量名:SSLKEYLOGFILE
變量值:D:\Temp\sslkey.log

2)wireshark中設置讀取全局變量

2、抓對應的包
1)選擇需要抓包的網卡

2)重啟谷歌瀏覽器,訪問目標網站(如:https://www.baidu.com)。必須重啟谷歌瀏覽器,否則無法解密。
3)幾秒后終止wireshark抓包
4)cmd中ping www.baidu.com 獲取ip:163.177.151.109
5)ip.addr == 163.177.151.109 過濾wireshark中的包。

6)wireshark底部查看明文數據

(二)解密成功后的標記
1、數據包背景色為淺綠色
2、wireshark底部有解密后的選項卡

其他參考:
https解密
https://www.cnblogs.com/aucy/p/9082429.html
https://blog.csdn.net/u010726042/article/details/53408077
https://www.2cto.com/article/201502/377678.html
