Node - 记录出站连接的TLS版本?

4

如果可能的话,我希望记录我的Node应用程序正在使用哪些TLS版本,而不需要更改任何代码。

我尝试了NODE_DEBUG=tls,httpDEBUG=*,当然日志中添加了大量信息,但没有关于正在使用的TLS版本的信息。

这是否可能?


使用tcpdump或wireshark怎么样? - Josnidhin
你想为什么做这个?是关于你的代码发出的请求吗?你能提供更多的上下文吗? - Tarun Lalwani
1个回答

1
我不确定是否不更改代码,但您可以像这样记录日志:
const tls = require('tls');

const url = 'someurl';
console.log('Connecting..');

const socket = tls.connect(443, url, () => {
  console.log('Tls.connect', socket.authorized ? 'authorized' : 'unauthorized');  
  console.log('Cipher: ' + JSON.stringify(socket.getCipher()));
  console.log('Protocol: ' + JSON.stringify(socket.getProtocol()));
});

这将产生如下输出:
Listening...
Connecting..
Tls.connect authorized
Cipher: {"name":"ECDHE-RSA-AES128-GCM-SHA256","version":"TLSv1/SSLv3"}
Protocol: "TLSv1.2"

嘿...谢谢回复...虽然这并不完全符合我的要求,但我很感激你的努力! - Brad Parks
1
太好了!我已经尝试过NODE_DEBUG设置(和其他设置),但是我无法完全理解你想要的目标。 - Terry Lennox

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接