Joh*_*nst 3 ssl smtp netcat tls starttls
我想知道我的本地 postfix 在 STARTTLS 之后对 Amazon SES smtpd 说了什么。纯文本,所以我可以理解。Amazon SES 需要 TLS,所以我暂时无法关闭它。
我目前用这个技巧记录流量的两条腿:
mkfifo proxypipe
cat proxypipe | nc -l 11111 | tee -a inflow | nc email-smtp.us-east-1.amazonaws.com smtp | tee -a outflow 1>proxypipe
Run Code Online (Sandbox Code Playgroud)
然后我与 localhost:11111 进行 postfix 对话,而不是 email-smtp.us-east-1.amazonaws.com:25。只要他们用明文交谈,这就会产生一个很好的成绩单。一旦 STARTTLS 出现,当然一切都会变得乱七八糟。
有什么技巧可以通过openssl或使用openssl或类似的东西进行后处理,以弄清楚他们彼此之间到底说了些什么?谷歌搜索没有产生任何答案。
不要打扰嗅探网络连接;正如@voretaq7 所解释的,你不能。相反,有后缀记录连接通过将远程SMTP服务器的IP地址debug_peer_list。
如果这不能让您获得足够的细节来了解正在发生的事情,您可以设置smtp_tls_loglevel 4为获得所有通过网络传输的完整转储。
完成后,请务必将配置改回。您不想让调试超过绝对必要的时间。
请允许我重新表述您的问题:
我想在 TLS 加密连接的中间插入一些东西,以显示正在发送的明文。
. . . 那么它现在不会很安全,是吗?我的意思是 TLS 的全部意义在于准确地防止您尝试做的事情!-- 所以,不,你所要求的是不可能的,也不是任何理智的管理员想要的日志记录级别。
您只想知道您连接到谁(远程系统)、您告诉他们什么(从 A 到 B 的邮件)以及他们说了什么(OK、Deferred、Rejected)。
如果你真的想窃听 TLS 连接,你必须欺骗你的服务器连接到一个提供虚假 SSL 证书(你有密钥)的代理,然后代理可以解密数据(并记录它),并且然后重新加密它以转发到亚马逊的真实服务器。
您可以使用 OpenSSLs_client和s_server子系统来装配这样一个野兽,但这种野兽的实现留给读者作为练习。
| 归档时间: |
|
| 查看次数: |
2115 次 |
| 最近记录: |