Могут ли клиенты telnet или netcat связываться через SSL?

Я хотел бы протестировать клиентские соединения с IMAP через SSL, HTTPS и другие безопасные текстовые интернет-протоколы через SSL / TLS, так же, как я бы использовал telnet или netcat, если они не были туннелированы по защищенному протоколу. Есть ли способ заставить telnet или netcat проходить через SSL / TLS, например, с помощью канала или альтернативной программы?

    Нет клиента Telnet / Netcat – это две отдельные программы, и существует по меньшей мере 10 различных клиентов Telnet и по меньшей мере 6 различных версий Netcat (исходный netcat, GNU netcat, netcat OpenBSD, ncat nmap, забыли остальные).

    Предпочтительные инструменты берутся из самих библиотек TLS. Однако они могут быть немного подробными.

    • GnuTLS имеет клиентский инструмент TLS для Linux:

      gnutls-cli imap.gmail.com -p 993 

      Использовать -s для STARTTLS; Вам нужно будет вручную ввести необходимые команды протокола и нажать Ctrl D, когда будете готовы.

      Поддерживает 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 :

       socat openssl:imap.gmail.com:993 stdio 

      Режим readline можно использовать для удобства:

       socat ssl:imap.gmail.com:993 readline 

      STARTTLS не поддерживается.

    • Ncat из nmap поддерживает TLS (но не STARTTLS):

       ncat --ssl imap.gmail.com 993 
    • Некоторые клиенты Telnet, такие как пакет telnet-ssl на Debian, также поддерживают TLS:

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

      STARTTLS можно активировать с помощью starttls из меню escape Ctrl .

    Вы можете посмотреть на openssl s_client , например

     # openssl s_client -connect dummy.com:8443 

    Да, есть программа под названием stunnel

    Он имеет конфигурационный файл,

    Вы говорите, какой порт для прослушивания, какой порт для отправки.

    Он работает на стороне клиента, или на стороне сервера, или на обоих.

    Поэтому он может превратить сервер, который не поддерживает ssl, в эффективный способ, который делает.

    Или клиент, который не поддерживает ssl, эффективно в тот, который делает.

    Или сделать так, чтобы клиент и сервер имели соединение ssl.

    Давайте будем гением компьютера.