通过 Wireshark 抓取 HTTPS 解密包
正常情况下,Wireshark
无法抓取 HTTPS
数据包。但通过开启各软件约定的环境变量设定,即可导出相关通讯密钥 key
。将其导入 Wireshark
中即可实现抓取解密包。
环境变量设定
持久方式
写入环境变量
Windows
,新建SSLKEYLOGFILE
,值为一个具体文件,比如%USERPROFILE%\Desktop\keylogfile.txt
Linux
/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.sh
export SSLKEYLOGFILE=$HOME/Desktop/keylogfile.txt
firefox&
chrome&MacOS
,新建firefox_ssl.sh
/chrome_ssl.sh
export SSLKEYLOGFILE=$HOME/Desktop/keylogfile.txt
open -a firefox
open -a chrome
Wireshark 配置
配置路径
Edit
->Preferences
->Protocols
->TLS
->(Pre)-Master-Secret log filename
配置完毕后即可正常抓取 HTTPS
数据包,正常解密
使用
正常使用软件,相关的 key
会写入先前指定的文件
当前已知支持的软件:
Firefox
Chrome
Chromium
Electron
curl