Me gustaría probar las conexiones de clientes con IMAP sobre SSL, HTTPS y otros protocolos de Internet seguros basados en texto sobre SSL / TLS, de la misma manera que usaría telnet o netcat si no estuvieran en un protocolo seguro. ¿Hay alguna manera de hacer que telnet o netcat pasen por SSL / TLS, como con una tubería o un programa alternativo?
62
Respuestas:
No hay un cliente Telnet / Netcat: son dos programas separados y existen al menos 10 clientes Telnet diferentes y al menos 6 versiones diferentes de Netcat (netcat original, GNU netcat, OpenBSD netcat, nmap's ncat; olvidé el resto).
Las herramientas preferidas provienen de las propias bibliotecas TLS. Sin embargo, pueden ser un poco detallados.
GnuTLS tiene una herramienta de cliente TLS en Linux:
Usar
-s
para STARTTLS; deberá ingresar manualmente los comandos de protocolo necesarios y presionar CtrlDcuando esté listo.Admite IPv6, valida los certificados del servidor de forma predeterminada.
OpenSSL tiene una herramienta de cliente TLS:
Esto está disponible para todos los sistemas operativos. STARTTLS es compatible a través de
-starttls imap
u-starttls smtp
opciones, y el programa lo negociará automáticamente. (Aunque descarta la respuesta inicial del servidor después de hacerlo, pero generalmente está bien).Solo la versión ≥ 1.1 es compatible con IPv6.
Solo la versión ≥ 1.0.2 (IIRC) valida el certificado del servidor por defecto; las versiones anteriores requieren la especificación manual -CApath.
(Me gustaría tener también herramientas para probar NSS y SChannel, pero no pude encontrar ninguna).
Los programas también usan las mismas bibliotecas, pero pueden tener menos botones de configuración. Algunos incluso omiten las verificaciones de certificados de pares de forma predeterminada ...
socat :
El modo readline se puede usar por conveniencia:
STARTTLS no es compatible.
ncat de nmap admite TLS (pero no STARTTLS):
Algunos clientes Telnet, como el paquete telnet-ssl en Debian, también admiten TLS:
STARTTLS se puede activar
starttls
desde el Ctrl]menú de escape.fuente
s_client
tiene soporte para IPv6 en la versión 1.1.s_client
tiene una característica "útil" donde las líneas que comienzan con R o Q se tratan como comandos (consulte el manual ). Use-ign_eof
para deshabilitar esto. Además,s_client
continuará incluso si la verificación falla; debe comprobar que dice "Verificar código de retorno: 0 (ok)" y esperar que el servidor no intente falsificar este mensaje. Mejor usargnutls-cli
si es posible.-verify_return_error
para eso.Es posible que desee ver openssl s_client , por ejemplo
fuente
Sí, hay un programa llamado Stunnel
tiene un archivo de configuración
le dices en qué puerto escuchar, a qué puerto reenviar.
funciona para el lado del cliente, del servidor o de ambos.
para que pueda convertir un servidor que no admite ssl, en uno que sí lo haga
o un cliente que no admite SSL, efectivamente en uno que sí lo hace.
o hacer que tanto un cliente como un servidor tengan una conexión SSL.
fuente
También hay sclient ( git ) si necesita soporte multiplataforma (es decir, Windows).
Cree un servidor local que desenvuelva tls por ejemplo.com
Haga una solicitud a example.com con telnet
fuente