捕获 ssl,对其进行解码,并保存原始输出

Capture ssl, decode it, and save raw output

我 运行 在 Linux,我需要捕获 HTTPS 流量(无需成为中间人),并对流量进行解码,然后保存解码后的数据到原始 pcap 文件的流量。 将输出通过管道传输到另一个进程也可以。 获得人类可读的输出(不是原始的)是不行的。

我可以访问服务器上的 ssl 密钥。

我试过的方向:

  1. 鲨鱼。效果很好,但不支持 DH(可能还有其他常见的 ssl 加密密钥)。参见 this and this
  2. ssldump。效果很好,但无法输出原始 pcap 文件,只能输出人类可读的输出。编辑:ssldump 也无法解密 ssl(在这种情况下)。

如果你能帮我解决#1 或#2 中的问题,那就太好了。也欢迎新想法。谢谢!

I have access to the ssl key on the server ... Works great, but doesn't support DH

服务器的 SSL 密钥对 DH/ECDH 没有帮助,因为连接的加密密钥不是从服务器的密钥派生的。您需要有权访问用于加密的实际密钥。关于如何使用某些浏览器访问这些密钥,有几个描述,例如 https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/.

如果您无权访问 SSL 连接的加密密钥,那么唯一的方法就是限制密码,以便不使用 DH/ECDH。不建议将其用于生产。