通过 Wireshark 抓取 HTTPS 解密包
正常情况下,Wireshark 无法抓取 HTTPS 数据包。但通过开启各软件约定的环境变量设定,即可导出相关通讯密钥 key。将其导入 Wireshark 中即可实现抓取解密包。
环境变量设定
持久方式
写入环境变量
Windows,新建SSLKEYLOGFILE,值为一个具体文件,比如%USERPROFILE%\Desktop\keylogfile.txtLinux/MacOS,在.bashrc中加入export SSLKEYLOGFILE=$HOME/Desktop/keylogfile.txt
绿色方式
构建批处理文件或脚本文件来调用
Windows,新建firefox_ssl.bat/chrome_ssl.bat@echo off
set SSLKEYLOGFILE=%USERPROFILE%\Desktop\keylogfile.txt
start firefox
rem start chromeLinux,新建firefox_ssl.sh/chrome_ssl.shexport SSLKEYLOGFILE=$HOME/Desktop/keylogfile.txt
firefox&
chrome&MacOS,新建firefox_ssl.sh/chrome_ssl.shexport SSLKEYLOGFILE=$HOME/Desktop/keylogfile.txt
open -a firefox
open -a chrome
Wireshark 配置
配置路径
Edit->Preferences->Protocols->TLS->(Pre)-Master-Secret log filename
配置完毕后即可正常抓取 HTTPS 数据包,正常解密
使用
正常使用软件,相关的 key 会写入先前指定的文件
当前已知支持的软件:
FirefoxChromeChromiumElectroncurl