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

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

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

答案1

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

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

  • 加密传输协议 在Linux上有一个TLS客户端工具:

    gnutls-cli imap.gmail.com -p 993
    

    用于-sSTARTTLS;您需要手动输入必要的协议命令并CtrlD在准备好时按下。

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

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

    openssl s_client -connect imap.gmail.com:993
    

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

    仅版本 ≥ 1.1 支持 IPv6。

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

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

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

  • 索卡特

    socat openssl:imap.gmail.com:993 stdio
    

    阅读行为方便起见,可以使用以下模式:

    socat ssl:imap.gmail.com:993 readline
    

    不支持 STARTTLS。

  • 酶联免疫吸附试验从 nmap 支持 TLS(但不支持 STARTTLS):

    ncat --ssl imap.gmail.com 993
    
  • 一些Telnet 客户端,例如telnet-sslDebian 上的软件包,也支持 TLS:

    telnet-ssl -z ssl imap.gmail.com 993
    

    starttls可以从退出菜单中激活 STARTTLS Ctrl]

答案2

你可能想看看openssl s_client

openssl s_client -connect dummy.com:8443

答案3

有一个名为的程序stunnel,它可以将不支持 SSL 的客户端或服务器转变为支持 SSL 的客户端或服务器,用于客户端、服务器端或两者,然后您可以告诉它监听和转发到哪个端口。

注意:这还好,尽管我的措辞有点不同。您可以查看之前的编辑来了解我写了什么。

答案4

为了完整起见,有(或曾经有?)一种叫做远程登录,一种“通过 TLS/SSL 进行的安全 Telnet”。Debian 仍在软件包中提供 telnetd 服务器组件telnet-ssl。根据链接的资源,似乎应该存在一个 telnet 客户端,它有一个“-z 开关”来使 telnet 命令使用 SSL - 但我找不到这个二进制文件。不过,这个二进制文件可以作为您请求的调试辅助工具。

相关内容