ssl - 使用 Wireshark 解密来自应用程序的 SSL/TLS 流量

标签 ssl networking ssl-certificate wireshark tls1.2

我有一个 pcap 文件,其中包含来自 Windows exe 应用程序的 TLSv2.0 流量。

我还有用于建立连接的后端服务器的私钥。

我已经尝试启用 ssllogfile 环境变量,还尝试在 Wireshark -> 首选项 -> TLS 下选择私钥。但我仍然无法解密流量。

还有其他办法吗?

使用的密码套件是TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

最佳答案

“ECDHE”表示 key 交换是使用提供前向保密性的椭圆曲线 Diffie-Hellman 完成的。这意味着来自服务器 X.509 证书的私钥不足以解密流量。您需要让客户端应用程序生成 SSLKEYLOGFILE,这可以通过 Chrome、Firefox 和 curl 来完成。如果“Windows exe 应用程序”有所不同,则您必须拦截 TLS 流量才能查看 TLS 隧道内的内容。

如果您想在 Wireshark 中分析解密的流量,那么我建议使用 PolarProxy 代理流量,因为它会生成一个 PCAP 文件,其中包含来自 TLS session 的解密流量。如果您选择使用 PolarProxy 拦截和解密 TLS 流量,则不需要任何 SSLKEYLOGFILE。

关于ssl - 使用 Wireshark 解密来自应用程序的 SSL/TLS 流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57306192/

相关文章:

web-services - CXF 服务器 - 启用 ssl 空密码

ssl - 是否可以从捕获的 SSL 流量中提取/生成私钥?

android - 以编程方式获取wifi/移动网络的数据速度

linux - 套接字绑定(bind)返回错误 63

postgresql - 如何在 Windows 中以访客身份访问托管在 Vagrant 中的 Postgresql?

javascript - 渐进式 Web 应用程序不在根文件夹中

ssl - Plesk:与多个域共享 IP 托管的 SSL 问题

ssl - 从 Kubernetes Nginx Ingress 中的 ssl 重定向中排除特定主机

Java 8 SSLContext.getInstance ("TLSv1.2")是什么意思?

ssl - 如何重现成功的 openssl_verify