Я хотел бы протестировать клиентские соединения с IMAP через SSL, HTTPS и другие безопасные текстовые интернет-протоколы через SSL/TLS, так же, как я бы использовал telnet или netcat, если бы они не были туннелированы по безопасному протоколу. Есть ли способ заставить telnet или netcat пройти SSL/TLS, такой как с каналом или альтернативной программой?
Может telnet или netcat с клиентами общаться через SSL?
4 ответа
клиента Telnet/Netcat нет-это две отдельные программы, и есть по крайней мере 10 различных клиентов Telnet и по крайней мере 6 различных версий Netcat (оригинал с netcat, netcat с гну, в OpenBSD с netcat, сканированиях НКАТ; забыл остальные).
предпочитаемые инструменты приходят от самих библиотек TLS. Они могут быть немного громоздким, хотя.
GnuTLS имеет инструмент клиента TLS на Linux:
gnutls-cli imap.gmail.com -p 993
использовать
-s
для STARTTLS; вам нужно будет вручную ввести необходимые команды протокола и нажать 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:
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
С Ctrl] меню escape.
вы можете посмотреть openssl s_client, например,
# openssl s_client -connect dummy.com:8443
Да, есть программа под названием stunnel
Он имеет файл конфигурации,
вы говорите ему, какой порт слушать, какой порт пересылать.
Он работает на стороне клиента или на стороне сервера, или оба.
Так может получиться, что сервер не поддерживает SSL, в один, что делает.
или клиент, который не поддерживает ssl, фактически в тот, который это делает.
или как клиент и сервер с SSL соединение.
там же sclient (git) если вам нужна кросс-платформенная поддержка (например, Windows).
создайте локальный сервер, который разворачивает tls для example.com
$ sclient example.com:443 localhost:3000
> [listening] example.com:443 <= localhost:3000
сделать запрос на example.com с telnet
$ telnet localhost 3000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
> GET / HTTP/1.1
> Host: example.com
> Connection: close
>
>
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]