Uso de telnet para probar puertos abiertos

Acronis
Acronis Cyber Protect Home Office
antes Acronis True Image

Cuando se trata de comprobar si un puerto de red se encuentra abierto o cerrado en un ordenador remoto, no existe una manera más sencilla que usar Telnet. Los puertos abiertos sin motivo aparente implican un riesgo de seguridad que pueden aprovechar los programas maliciosos y virus. Al mismo tiempo, si un software legítimo establece comunicación a través de un puerto específico, tener ese puerto cerrado provocará que el programa arroje errores y fallas.

Son varios los usuarios que indican que comprobar si un puerto está abierto es demasiado complejo. Sin embargo, una de las formas más eficientes es usar el protocolo de red Telnet. Telnet le permite a los usuarios probar los puertos individuales y comprobar si están abiertos. En este artículo, desglosaremos cómo Telnet se puede utilizar para comprobar el estado de los puertos en Windows 10, Windows Server 2022, 2016, 2012 y 2008.

¿Qué es Telnet?

El nombre “Telnet” es una abreviatura para “Protocolo de red de teletipo”.

En resumidas cuentas, Telnet es un protocolo de ordenador que fue desarrollado para interactuar con los ordenadores remotos. Permite la comunicación de terminal a terminal y se puede utilizar para varios fines.

La palabra “Telnet” también se refiere a la utilidad de comando de línea “telnet”, disponible en sistemas que operen con Windows y Unix, incluidos Mac, Linux y otros. Utilizaremos el término “Telnet” principalmente en el contexto del software para clientes de telnet.

La utilidad de Telnet permite a un usuario remoto tener acceso para probar la conectividad con equipos remotos y emitir comandos a través de un teclado. Aunque la mayoría de los usuarios optan por trabajar con interfaces gráficas, Telnet es una de las formas más simples de comprobar la conectividad en determinados puertos.

¿Para qué se utiliza Telnet?

El protocolo Telnet es tan antiguo como se piensa en el mundo de la tecnología. Fue desarrollado en 1969, por lo que no contempla las funciones de seguridad robustas que tienen los protocolos de red actuales.

Como hemos mencionado, a través de Telnet, los usuarios pueden conectarse a un software que utiliza protocolos no cifrados basados en texto desde servidores web a puertos. Usted puede abrir la interfaz de línea de comando en un ordenador remoto, escriba “telnet”, el nombre del equipo remoto o la dirección IP y espere a que la conexión de Telnet haga ping en el puerto para comprobar si está abierto.

Sin embargo, puede usar Telnet para ejecutar otras tareas diferentes. Cuando se conecta debidamente, usted puede editar los archivos, ejecutar programas o revisar su correo electrónico con él.

Además, algunos servidores permiten conexiones remotas de Telnet para acceder a datos públicos. En primer lugar, puede revisar el pronóstico del clima a través del servicio de Weather Underground, que se mantiene activo desde 1995 y sigue funcionando (porque, todos sabemos que los pronósticos del clima en televisión pueden ser aburridos a veces)

Es más, Telnet le permite jugar ajedrez en el Servidor gratuito de ajedrez en línea y realmente integrar ese espíritu de los antiguos maestros digitales.

Para jugar ajedrez aquí, use el comando:

o freechess.org

Ahora, para los fanáticos acérrimos de Star Wars, puede ver Star Wars Episodio 4 en el modo ASCII predeterminado. O al menos la parte de la película que está terminando y está disponible para “streaming”.

Para hacerlo, use el siguiente comando en Telnet:

o towel.blinkenlights.nl 23

A través de Telnet, un usuario de red nostálgico podría hablar con la IA psicoterapeuta, Eliza. Incluso si rara vez le entiende, sus líneas están sujetas a iluminar su día y sacarle una sonrisa.

Para comunicarse con Eliza, escriba el siguiente comando:

o telehack.com, seguido por eliza

Algunos usuarios aún utilizan Telnet para administrar y unir sistemas de tablero de anuncios basados en texto. Ya que los foros son texto plano, usted no requiere de imágenes sofisticadas o de animaciones para ilustrar los hilos.

En resumen, además de su capacidad para comprobar el estado del puerto, Telnet se utiliza principalmente por diversión nostálgica o para equipar el sistema de un usuario experimentado que no admite el acceso a datos específicos.

¿Cuáles son los 3 modos del protocolo de Telnet?

El protocolo Telnet generalmente tiene tres modos de operación. En todos ellos, su teclado produce datos salientes a través de la estructura de comando Telnet, viaja mediante una conexión Telnet TCP y llega a una terminal virtual o física para satisfacer una conexión entre terminal y ordenador.

Modo predeterminado

  • En caso de no invocarse otros modos, Telnet asumirá este modo de manera predeterminada.
  • En este modo el usuario realiza un eco.
  • Aquí, el usuario puede escribir un caracter y el cliente replica dicho caracter en la pantalla. Sin embargo, no se enviará hasta completar la línea completa.

Este modo también es conocido como “modo operativo de dispositivo semidúplex” o “modo half-duplex”. Requiere que el comando Telnet GA (GO AHEAD) desde el servidor antes de aceptar cualquier dato introducido por el usuario. La motivación para esto es el alto costo potencial de las interrupciones por entrada de la red de procesamiento junto con la especificación NVT que “hace eco” de no atravesar la red.

Modo de caracter

  • En el modo de caracter de Telnet, solo se transmite un carácter a la vez (dirección usuario a servidor).
  • El intérprete de telnet en el servidor reconocerá la recepción del caracter replicándolo al cliente.
  • Luego, el software de cliente Telnet enviará de regreso un paquete TCP ACK al servidor para informar la recepción del eco que proviene de este.
  • Telnet genera un paquete de datagrama de IP para cada caracter, lo cual podría causar retrasos de conectividad debido al alto volumen del tráfico de red (en sistemas más antiguos)

Modo de línea

  • El modo de línea (más conocido como “modo de línea a la vez”) deriva del modo de caracter de Telnet.
  • En este modo, se hace eco de los caracteres mediante una señal explícita definida localmente y se envían al servidor de Telnet una vez completados.
  • En el modo de línea, se deshabilitan los comandos ECHO o el SUPPRESS GO AHEAD.

Sección de comando de Telnet

Los comandos de Telnet se distinguen por el uso de diversos caracteres con el conjunto de bit más relevantes. La porción de flujo de datos de Telnet garantiza la incorporación de los comandos invocados por los usuarios de red. Los comandos se introducen a través del decimal 255, también conocido como el caracter Interpretar como comando (IAC).

Los comandos de Telnet definidos constan de:

WILL - 251 - Ofrecer o aceptar habilitar

WON'T - 252 - Aceptar u ofrecer deshabilitar

DO - 253 - Solicitar o Aprobar la operación de habilitación

DON'T - 254 - Desaprobar habilitar o Solicitar deshabilitar

SE - 240 - Término de los parámetros de subnegociación

NOP - 241 - Ninguna operación

DM - 242- El comando “data mark” indica y localiza la secuencia Telnet Synch dentro del flujo de datos (fundamental como complemento de la notificación de urgencia de Protocolo de Control de Transmisión (TCP)).

BRK - 243 - Comando de interrupción. Indica que se presionó la tecla de “atención” o “interrupción”

IP - 244 - Suspende, interrumpe o aborta la conexión del Terminal de Red Virtual correspondiente al proceso específico

AO - 245 - Aborta salida - permite que se complete el proceso, pero no que envíe datos

AYT - 246 - Este significa "Are you there?" (¿Estás ahí?) - solicita enviar de regreso evidencia visible de que AYT fue recibido del Terminal Virtual de Red (NVT)

EC - 247 - Borrar comando de caracter - el receptor del comando debe borrar el último comando sin borrar precedente

EL - 248 - Borrar comando de línea - borra caracteres del flujo de regreso a, aunque sin incluir, el retorno de carro/salto de línea (CRLF)

GA - 249 - El comando Telnet Go Ahead - utilizado principalmente para informar al otro extremo de que puede comenzar a transmitir datos

SB - 250 - Indica la subnegociación de las opciones incluidas a seguir

IAC - 255 - El caracter “Interpretar como comando”

Opciones de comando de protocolo de Telnet

Varias especificaciones de opción en Telnet están disponibles para negociar entre el cliente y el servidor de Telnet. Esto puede realizarse utilizando comandos en cualquier etapa siempre que la conexión persista. A continuación, dejamos una lista de las opciones de comandos más importantes.

Asignaciones de código real

1 echo

3 suppress go ahead

5 status

6 timing mark

24 terminal type

31 window size

32 terminal speed

33 remote flow control

34 linemode

36 environment variables

Las opciones atraviesan un proceso de negociación para presentar al cliente y al servidor una vista común de las posibles capacidades adicionales que inciden en el intercambio y el funcionamiento de las aplicaciones.

Ambos extremos en un diálogo por Telnet pueden habilitar o deshabilitar las opciones de manera local o remota.

¿Cómo habilitar una conexión de Telnet en un servidor?

El cliente de Telnet se incorpora en Windows 11, pero para usarlo en Windows Server 2022, usted necesita habilitarlo ya que viene desactivado de manera predeterminada.

Para hacerlo, necesitará pasar por la interfaz gráfica de usuario (GUI).

  1. Inicie sesión en Windows Server 2022 con privilegios de adminsitrador
  2. Abra “Administrador de servidor” desde el menú de Inicio
  3. Seleccione el menú "Administrar" (en la esquina superior derecha) -> seleccione "Añadir roles y características"
  4. En el “Asistente de Añadir roles y características”, seleccione “Siguiente” en la línea “Antes de comenzar
  5. Haga clic en "Siguiente" -> haga clic en "Seleccionar tipo de instalación"
  6. En la pantalla “Seleccionar servidor de destino”, seleccione su servidor local en la lista de servidor -> haga clic en “Siguiente
  7. Haga clic en “Siguiente“ en la línea “Seleccionar roles de servidor
  8. En la pantalla “Seleccionar características”, explore las funciones disponibles -> marque “Cliente Telnet” -> haga clic en “Siguiente
  9. Seleccione "Instalar" en la línea "Confirmación de parámetros de instalación"
  10. Cierre el “Asistente de Añadir roles y características

El protocolo Telnet puede habilitarse de diversas maneras. A continuación, analizaremos todas las opciones disponibles para que usted pueda escoger la que le parezca más eficiente.

Habilitar cliente Telnet en sistemas operativos de Microsoft Windows

Tal como hemos mencionado, Telnet viene deshabilitado por defecto en la configuración de Windows, por lo que necesita activarla antes de hacer algo al respecto. Habilitarlo le ayudará a ejecutar el diagnóstico requerido y a comprobar si un puerto está abierto Si intenta usar Telnet sin activarlo en primer lugar, recibirá el siguiente mensaje:

Para activar Telnet, usted necesita usar la línea de comando en o la interfaz gráfica de su ordenador.

Habilitar cliente Telnet a través del Símbolo del sistema:

Si desea habilitar Telnet a través de la línea de comando, abra el Símbolo del sistema con privilegios elevados (“como administrador”) y ejecute el siguiente comando:

Dism /Online /Enable-feature /FeatureName:TelnetClient

Después de colocar esto, Telnet estará listo para comprobar el estado de sus puertos.

Como alternativa al Símbolo del sistema, puede usar el siguiente comando de PowerShell para lograr el mismo resultado:

Install-WindowsFeature -name Telnet-Client

Si desea usar la interfaz de usuario gráfica, usted necesita:

Cómo habilitar cliente Telnet en Windows 7, 8, 10:

Abra el menú de Inicio de Windows > Escriba “Panel de control” > Presione Enter > “Programas” > “Programas y características” > Activar o desactivar las características de Windows > Seleccione “Cliente Telnet” > Presione “Aceptar

Cómo habilitar cliente Telnet en Windows Server 2008:

Abra “Administrador de servidor” > Características > haga clic en “Añadir características” > habilite la casilla “Cliente Telnet” > haga clic en “Siguiente > haga clic en “Instalar” > cuando termine la instalación de la característica, haga clic en “Cerrar

Cómo habilitar cliente Telnet en Windows Server 2012, 2016:

Abra “Administrador de servidor” > “Añadir roles y características” > haga clic en “Siguiente hasta llegar a la fase “Características” > marque “Cliente Telnet” > Haga clic en “Instalar” > cuando termine la instalación de la característica, haga clic en “Cerrar”.

Cómo usar el comando Telnet para probar puertos abiertos

Uno de los beneficios más grandes de Telnet es que usted puede probar si un puerto está abierto con un simple comando. Ingresar la línea de Telnet, telnet [domainname o ip] [port] le permitirá probar la conectividad en un host remoto en el puerto determinado.

Ingrese el siguiente comando en el Símbolo del sistema:

telnet [domain name or ip] [port]

Ponga la dirección IP o el nombre de dominio del servidor al que está intentando conectarse en lugar de [domain name or ip] y reemplace el segundo paréntesis con el número de puerto en el equipo remoto, con la conexión que desee probar.

Por ejemplo, para verificar la conexión a 192.168.0.10 en el puerto 25, ingrese el comando:

telnet 192.168.0.10 25

Si la conexión tiene éxito, aparecerá una pantalla en blanco, lo que significa que el puerto del ordenador está abierto.

Un mensaje de error le seguirá a una conexión fallida. Dicha señal puede indicar un puerto cerrado o que el servidor remoto indicado no figura en el puerto indicado.

Ejemplo

telnet rpc.acronis.com 443

Acronis
Testing abre los puertos con Telnet
Acronis
Telnet Console

Cómo comprobar si un puerto está abierto en Mac

Usuarios de High Sierra: Apple eliminó el cliente telnet de macOS 10,13 High Sierra. No existe una manera oficial de regresarlo, pero aún puede copiarlo desde un SO antiguo o recopilarlo de fuentes y usarlo en High Sirra. 

Tal como ocurre en Windows, se puede acceder a Telnet a través del Terminal, el símbolo del sistema en macOS. Para abrir telnet, haga clic en “Ir” > “Utilidades” > “Terminal”, luego ejecute el siguiente comando (los números corresponden a un ejemplo de dirección IP y puerto): telnet [domainname or ip] [port], por ej. > telnet 192.168.1.1 443

Cuando se abre un puerto en el ordenador, aparece una pantalla blanca, lo que significa que la conexión ha sido exitosa. Un mensaje de error le seguirá a una conexión fallida.

Una alternativa a Telnet para comprobar los puertos de usuario es Utilidad de red. Para comprobar los puertos en un Mac, siga el plan que se detalla a continuación:

Abra “Utilidad de red” > haga clic en “Escanear puerto” > Indique el nombre del equipo y los puertos para escanear el host remoto, por ej., myserver.com de 995 a 995 > Compruebe el resultado

Acciones dependiendo de los resultados obtenidos de la prueba de Telnet

Muchas veces cuando intente usar Telnet, podría encontrarse con que su propia red bloquea su conexión. Es común que los usuarios ejecuten un firewall, que bloquea la conexión de los puertos salientes. Una forma básica para probar si su firewall interrumpe su Telnet es deshabilitar su firewall y realizar una prueba de Telnet.

Si desea comprobar los puertos cerrados en su enrutador, ingrese a su consola de administración de enrutador. Abra un navegador web e ingrese la dirección IP o el nombre del enrutador, por ejemplo, "192.168.0.10". Si la página no se abre, intente reemplazar “http” con “https” al comienzo de la dirección.

Luego, ingrese su nombre de usuario y contraseña y haga clic en “Ingresar” o “Iniciar sesión”. Vaya a la sección Seguridad para abrir o cerrar los puertos y acceder a otras configuraciones de firewall en el enrutador.

Si necesita permitir que los recursos en la red interna queden accesibles desde el exterior, ingrese a “Acceso externo”/”Asignación de puertos”. Consulte la documentación del fabricante del enrutador para obtener instrucciones detalladas.

¿Qué es SSH? ¿Cuál es su puerto?

SSH significa “Secure Shell” o “Secure Socket Shell”. Corresponde a un protocolo seguro que permite la comunicación encriptada entre dos ordenadores.

Secure Shell utiliza el protocolo de transferencia de hipertexto (HTTP) para transferir hipertexto (páginas web) y datos compartidos.

Ya que SSH permite la comunicación encriptada entre dos equipos, es ideal para redes no protegidas.

SSH se utiliza principalmente para establecer una conexión de terminal virtual e iniciar sesión en un equipo remoto para ejecutar operaciones o transferir datos. El puerto predeterminado para la conexión de cliente SSH es 22. Usted puede cambiar la configuración predeterminada ingresando un número de puerto entre 1024 y 32.767.

Tenga en cuenta que en un sistema virtual (VSYS), la raíz y VSYS comparten el mismo número de puerto SSH. Esto significa que si usted cambia la configuración predeterminada del puerto SSH (22), el puerto también cambiará para todos los terminales virtuales.

¿Cómo funciona SSH?

Para establecer un acceso por terminal remoto a través de Secure Shell, usted necesita de un cliente SSH en su ordenador para conectarse al servidor SSH.

El cliente SSH, una vez habilitado, este invoca el proceso de configuración de la conexión para procesar la comunicación protegida por una encriptación simétrica sólida.

El cliente depende de la criptografía de clave pública para verificar la identidad del servidor, seguido de los algoritmos hashing para garantizar la privacidad e integridad de los datos intercambiados entre el cliente y el servidor.

¿Cuál es la diferencia entre Telnet y SSH?

Tanto Telnet como SSH son protocolos utilizados para gestionar un sistema informático remoto.

¿Pero qué hace la diferencia? Analicemos esta situación paso a paso.

  • Diferencia en la definición

Telnet es un protocolo de red de aplicación que permite la comunicación de usuario con un computador remoto a través de una interfaz basada en texto. Telnet crea una conexión de terminal virtual, permitiendo a los usuarios acceder a las aplicaciones en un equipo remoto.

SSH cumple las mismas funciones principales que Telnet, pero añade seguridad al proceso. Permite el acceso seguro incluso cuando la red conectada no es segura, incorporando un mayor nivel de seguridad que el protocolo de Telnet. Además, los administradores de red pueden iniciar sesión en un equipo remoto a través de SSH, ejecutar comandos, transferir archivos y más.

  • Diferencia en operación

Telnet requiere de una aplicación de servidor instalada en el ordenador remoto (aquella que usted desee gestionar) y de una aplicación de cliente instalada en el equipo local.

Telnet utiliza el protocolo de puerto TCP y el puerto 23 para establecer una conexión con ordenadores remotos. El sistema creado actúa como un servidor Telnet y está disponible para recibir comandos. Dichos comandos se envían a través del formato de Terminal Virtual de Red (NVT). Luego, son recibidos e interpretados por el servidor Telnet, para enviarse posteriormente a la aplicación correspondiente.

SSH garantiza una conexión segura al servidor a través del puerto 22. Genera una sesión después de que el cliente verifique el servidor a través de autenticación con clave. La sesión generada se envía al cliente y al servidor y todo el tráfico se encripta para la sesión actual.

En última instancia, el servidor verifica el cliente a través de un par clave SSH generado. Después de la autenticación exitosa del cliente, esta establece una conexión encriptada y los dos sistemas pueden intercambiar datos de forma segura.

  • Diferencia en seguridad

Telnet no ofrece ninguna característica o protocolo de seguridad durante la transmisión de datos. El protocolo de red es altamente vulnerable a ciberamenazas, a menos que se utilice en redes privadas de confianza, de preferencia sin conexión.

Gracias a los pares de teclas utilizados para autenticación, es extremadamente difícil penetrar y leer los datos transferidos en SSH. Esto lo convierte en un protocolo mucho más seguro que Telnet, incluso para redes no seguras.

  • Diferencia en formatos de datos

Telnet envía datos como texto plano mediante un formato NVT.

SSH envía los datos a través de un formato encriptado por medio de un canal seguro.

  • Diferencia en autenticación

Telnet emplea un mecanismo sin autenticación.

SSH depende de una encriptación de clave pública.

  • Diferencia en sistemas operativos admitidos

Tanto Telnet como SSH están disponibles en Windows, Mac OS y Linux (con algunas excepciones para Telnet en las versiones más recientes de Mac OS).

  • Diferencia en utilización de ancho de banda

El uso de ancho de banda para conexión de Telnet es bajo.

El uso de ancho de banda para conexión de SSH es alto.

¿Cuándo usar Telnet o SSH?

Existen dos casos principales en los cuales se recomienda el uso de una conexión Telnet por sobre SSH.

  • Al operar en redes de confianza (por ej., LAN) que no tengan conexión a internet.
  • Al operar con un host remoto que no admita SSH.

En todos los demás casos, lo mejor es usar SSH dado que ofrece una alta seguridad para los dispositivos conectados a internet.

Además, SSH permite más opciones de funcionalidad que Telnet (por ej., transferencia de archivos más segura, asignación de puertos)

¿Sigue usándose Telnet?

Telnet es una esencia primordial en el universo de la tecnología. Y como tal, aún se utiliza en situaciones específicas. Telnet es fácil de operar, no requiere de un amplio conocimiento informático y no sobrecarga su red (en la mayoría de los casos).

Tal como lo hemos discutido, los administradores de red dependen de Telnet (en ocasiones) para acceder y gestionar dispositivos de red remotos. Además, los usuarios particulares pueden establecer una conexión con Telnet para comprobar el estado de los puertos en redes privadas de confianza.

Más de Acronis