不解密也能看到什么

HTTPS 会加密应用层内容,但连接地址、端口、TCP 时序和部分 TLS 握手信息仍可用于诊断。使用 tls.handshake 过滤后,可以查看客户端和服务器支持的 TLS 版本、密码套件、证书链以及部分场景中的服务器名称。证书过期、握手告警或版本不兼容通常无需解密正文即可发现。

TLS 密钥日志的适用条件

Wireshark 不能凭空破解 HTTPS。分析自己控制的浏览器或测试程序时,可让客户端把会话密钥写入指定日志,再由 Wireshark 读取。该方式适合开发调试与故障复现,不应获取或使用他人的会话密钥。开始前应关闭旧进程,确保新会话确实使用了设置的日志路径。

在 Wireshark 中加载密钥

打开“编辑 → 首选项 → Protocols → TLS”,在 Pre-Master-Secret log filename 中选择密钥日志文件。重新捕获受控浏览器的访问流量后,成功解密的数据包通常会被解析为 HTTP/2、HTTP/3 或具体应用协议。可以使用 http2http.request 等过滤条件继续分析。

无法解密时的检查顺序

先确认日志文件持续产生新内容,再检查抓包是否包含完整握手、应用是否支持密钥日志、连接是否复用了旧会话。如果浏览器启用了 QUIC,流量可能通过 UDP 443 传输,需要同时观察 QUIC/TLS 相关数据包。代理、杀毒软件的 HTTPS 检查也可能改变证书和连接路径。

密钥日志属于敏感调试数据。分析完成后应妥善删除,不要上传、分享或提交到代码仓库。