在 Wireshark 中解密 SSL 流量。只有标头会被解密

在 Wireshark 中解密 SSL 流量。只有标头会被解密

我正在尝试在 Wireshark 中解密 SSL 流量,部分成功,因为我能够查看解密的标头。问题是我看不到任何数据包内容,只看到它们的标头。这种现象有什么解释吗?

更详细一点:我们使用 openssl 通过以下命令生成密钥和证书: openssl req -config *.cnf -new -x509 -extensions v3_ca -keyout *.key -out *.crt -days 1825

然后为了将私钥解密为 PKCS#8 格式(wireshark 据称支持该格式),我们发出了以下命令: openssl pkcs8 -nocrypt -in *.key -informat DER -out *.key -outformat PEM

在 Wireshark 中,我们在 SSL 解密部分发出了以下参数: 10.10.10.10,443,http,*.key- 其中 10.10.10.10 是我们使用 sslsniff 尝试 MITM 的客户端。我们还尝试了 localhost 和服务器 IP,但没有成功。有什么建议吗?

答案1

SSL 连接可能正在使用迪菲一赫尔曼建立会话密钥。DH 允许双方在不安全的通道上建立共享密钥,而无需事先进行通信。这意味着即使您拥有私钥,也无法通过检查流量来确定会话密钥。要解码 DH 会话,您必须主动对连接进行 MITM,或者让其中一方记录会话密钥。

答案2

您必须捕获并配置 Wireshark 来解密。

看看这个教程(步骤 2 和 3 似乎解决了您的问题)。

您可能还想查看Wireshark 的 wiki 条目在 TLS 上。

答案3

您是否误将加密数据当成了压缩数据?Web 服务器通常使用某种形式的数据压缩 (gzip 或 deflate),这会使有效负载看起来就像是加密的。

相关内容