telnet 或 netcat 客户端可以通过 SSL 进行通信吗?

use*_*702 72 telnet connection ssl netcat tls

我想通过 SSL、HTTPS 和其他基于 SSL/TLS 的安全基于文本的 Internet 协议测试客户端与 IMAP 的连接,就像我使用 telnet 或 netcat 如果它们没有通过安全协议进行隧道连接一样。有没有办法让 telnet 或 netcat 通过 SSL/TLS,例如使用管道或备用程序?

use*_*686 159

没有 Telnet/Netcat 客户端——它们是两个独立的程序,并且存在至少10 个不同的 Telnet 客户端和至少 6 个不同的 Netcat 版本(原始 netcat、GNU netcat、OpenBSD netcat、nmap 的 ncat;忘记了其余的)。

首选工具来自 TLS 库本身。不过,它们可能有点冗长。

  • GnuTLS 在 Linux 上有一个 TLS 客户端工具:

    gnutls-cli imap.gmail.com -p 993
    
    Run Code Online (Sandbox Code Playgroud)

    使用-s用于STARTTLS; 您需要手动输入必要的协议命令,并CtrlD在准备好后按下。

    支持 IPv6,默认验证服务器证书。

  • OpenSSL有一个 TLS 客户端工具:

    openssl s_client -connect imap.gmail.com:993
    
    Run Code Online (Sandbox Code Playgroud)

    这适用于所有操作系统。通过-starttls imap-starttls smtp选项支持 STARTTLS ,程序将自动协商它。(虽然这样做后它会丢弃初始服务器回复,但通常没问题。)

    只有版本?1.1 支持 IPv6。

    只有版本?1.0.2 (IIRC) 默认验证服务器证书;旧版本需要手动 -CApath 规范。

(我也想有测试 NSS 和 SChannel 的工具,但找不到。)

这些程序也使用相同的库,但配置旋钮可能更少。有些甚至默认跳过对等证书检查......

  • 我希望我可以简单地喜欢你的答案,而不是提问者甚至懒得标记为已接受的问题。 (5认同)

小智 7

你可能想看看openssl s_client

openssl s_client -connect dummy.com:8443
Run Code Online (Sandbox Code Playgroud)