¿Cuál es la diferencia entre telnet y netcat?

¿Cuál es la diferencia entre telnet y netcat?

Estoy buscando una explicación donde pueda encontrar la diferencia entre telnety netcat. ¿En qué casos debo utilizar telnety netcat? ¿Qué telnetpuede hacer lo que netcatno puede hacer y viceversa?

Intenté obtener la respuesta de Internet pero no me ayuda a entender. Todo lo que pude encontrar fueron los diferentes cmds. Estoy buscando ejemplos de casos de uso con diferencias.

¿Alguien puede explicar la diferencia con una explicación?

Respuesta1

Nota: Existen varios programas Telnet diferentes, así como varias variantes de Netcat diferentes. Es posible que tengan características algo diferentes.

En general, telnethabla específicamente del protocolo "Telnet" RFC 854: reconoce ciertos bytes como comandos de negociación de opciones Telnet provenientes del servidor, los responderá adecuadamente y enviará los suyos propios al comienzo de cada conexión. (Por ejemplo, informa el valor $TERM y el tamaño de la ventana en líneas × columnas al servidor). También traducirá los saltos de línea Unix LF a la versión NVT CR+LF y reconocerá Ctrl+] como una tecla de "escape".

Esto lo hace telnetinadecuado para conexiones TCP sin formato de 8 bits, ya que dañaría los datos transferidos y no funciona bien para el uso por lotes en general. Sin embargo, todavía se puede utilizar para hurgar interactivamente en protocolos basados ​​en ASCII como FTP o SMTP; funciona porque muchos clientes Telnet no inician la negociación si se conectan a un puerto no estándar (pero aun así responderán).

Netcat ncno hace nada de eso – esante todoun cliente TCP limpio de 8 bits. Se puede usar con protocolos ASCII al igual que telnet, pero también se puede usar, y a menudo se usa, como una "tubería" hacia TCP para la transferencia de datos por lotes, porque no alterará ningún byte enviado a través de él.

Netcat a menudo también ofrece transportes que no son TCP (UDP, a veces SCTP, sockets Unix locales), mientras que los clientes Telnet son sólo TCP.

Por otro lado, netcat no comprende ningún protocolo: si intentara conectarse a un servidor Telnet real usando nc, no funcionaría muy bien; el servidor no sabría qué tipo de terminal está utilizando, no se podría cambiar el tamaño de la ventana, etc.


  • Si se está conectando a un servidor Telnet en el puerto 23, utilice telnet.
  • Si necesita algo como catpero para TCP, use nco incluso socat.
  • Si necesita enviar/recibir datos que no sean de texto, utilice nc/ socat– evitar telnet.
  • Si desea escribir manualmente comandos SMTP, IRC, IMAP o HTTP, ambas herramientas funcionarán bien. (De hecho, telnetpodría funcionar un poco mejor, ya que convierte los finales de línea a CR+LF, lo que algunos de estos servidores también requieren).

información relacionada