使用fiddler会导致某些应用程序在我的Windows机器上停止正常工作。我想使用wireshark解密我的tomcat和远程服务器之间的所有ssl流量。所有流量都是https。
我能够设置环境变量SSLKEYLOGFILE并解密浏览器生成的所有SSL流量。但这不适用于服务呼叫服务。有权访问tomcat的私钥,因为被称为前向保密的东西不再有用(我对此并不了解)。从我读到的访问会话密钥是最简单的wireshark解密方式。
如果有人可以回答以下任何一个问题,我的问题就可以解决了。
1>有没有办法让tomcat 8将会话密钥吐出到文件中,以便wireshark可以使用它来解密SSL流量。我正在使用java 8。
2>是否有一个工具不通过代理重定向流量,但能够解密我的机器上的SSL流量?
答案 0 :(得分:2)
如果你有:
,你可以这样做步骤:
ECDHE
或DHE
密码套件可用。可接受的密码套件示例包括SSL_RSA_WITH_3DES_EDE_CBC_SHA
或TLS_RSA_WITH_AES_128_CBC_SHA256
。您必须限制密码套件的原因是因为这些天,TLS将使用短暂的密钥交换算法(DHE
!)。这就是完美前瞻性保密(PFS)的作用。你必须打破PFS,以便使用受损的RSA密钥(你通过使用Wireshark监听它“妥协”)来嗅探对话。
好消息是,您不必乱用客户端或服务器就像使用Web浏览器那样删除临时密钥。坏消息是您必须将服务器密钥暴露给另一台主机(运行Wireshark的工作站)和,您必须降低对话的安全性。但这仅用于测试,对吧? ;)
答案 1 :(得分:2)
您可以使用extract-ssl-secrets工具从任何Java应用程序中提取Wireshark所需的密钥。
CATALINA_OPTS="${CATALINA_OPTS} -javaagent:<absolute path to>/extract-ssl-secrets-1.0.0.jar=/tmp/secrets.log"
添加到CATALINA_BASE/bin/setenv.sh
(如果缺少则创建)wireshark -o ssl.keylog_file:/tmp/secrets.log
如果它不能立即使用,请参见troubleshooting section。