使用 SSLKEYLOGFILE 在 Wireshark 中解密 TLS 流量
在排查 HTTPS 连接问题时,能够解密 TLS 流量是极其重要的技能。Wireshark 支持通过 SSLKEYLOGFILE 方式解密 TLS 流量,本文详细介绍其工作原理和实操步骤。 工作原理 TLS 加密通信的安全性来自密钥交换过程。如果能够获取客户端和服务端协商出的密钥(Master Secret 或 Traffic Keys),就能解密捕获的 TLS 流量。 SSLKEYLOGFILE 是 NSS 密码库引入的一个特性,被 Chrome、Firefox、curl 等支持。客户端在建立 TLS 连接时,会将密钥材料写入指定文件,Wireshark 读取该文件即可解密流量。 ⚠️ 注意:本文仅用于调试自己的 TLS 连接。请勿用于窃听他人通信。 前置要求 Wireshark(支持 TLS 1.2 和 TLS 1.3 解密) 支持 SSLKEYLOGFILE 的客户端(如 Chrome、Firefox、curl、OpenSSL s_client) 环境准备 1. 创建 Keylog 文件 1 2 3 # 创建空文件用于存储密钥 touch ~/ssl-keylog.txt chmod 600 ~/ssl-keylog.txt 2. 配置环境变量 在 Linux/macOS 上: 1 export SSLKEYLOGFILE=~/ssl-keylog.txt 在 Windows 上(PowerShell):...