Uso de Telnet para probar puertos abiertos

Acronis
Acronis Cyber Protect Home Office
antes Acronis True Image

Cuando se trata de verificar si un puerto de red está abierto o cerrado en un ordenador remoto, no hay una manera más fácil que usar Telnet. Los puertos que se dejan abiertos sin ninguna razón son un riesgo de seguridad que los programas maliciosos y los virus pueden explotar. Al mismo tiempo, si el software legítimo se comunica a través de un puerto específico, tener ese puerto cerrado hará que el programa arroje errores y mal funcionamiento.

Muchas personas encuentran que el desafío de verificar si un puerto está abierto es demasiado complejo. Sin embargo, una de las formas más eficientes es utilizar el protocolo de red Telnet. Telnet permite al usuario probar puertos individuales y ver si están abiertos. En este artículo, desglosaremos cómo se puede usar Telnet para verificar los puertos en Windows 10, Windows Server 2022, 2016, 2012 y 2008.

¿Qué es Telnet?

El nombre "Telnet" es la abreviatura de Protocolo "Teletype Network".

En pocas palabras, Telnet es un protocolo informático que fue construido para interactuar con ordenadores remotos. Permite la comunicación de terminal a terminal y se puede utilizar para una variedad de propósitos.

La palabra "Telnet" también se refiere a la herramienta de línea de comandos "telnet", disponible bajo el sistema operativo Windows y sistemas similares a Unix, incluidos Mac, Linux y otros. Usaremos el término "Telnet" principalmente en el contexto del software cliente de Telnet.

La herramienta Telnet permite el acceso remoto del usuario para probar la conectividad a máquinas remotas 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 verificar la conectividad en ciertos puertos.

¿Para qué se utiliza Telnet?

El protocolo Telnet es de la vieja escuela en el mundo de la tecnología. Fue desarrollado en 1969, por lo que no incluye las sólidas características de seguridad de los protocolos de red actuales.

Como hemos mencionado, a través de Telnet, los usuarios pueden conectarse a software que utiliza protocolos no cifrados basados en texto desde servidores web hasta puertos. Puede abrir la interfaz de línea de comandos en un ordenador remote. Escriba "Telnet", el nombre o la dirección IP del equipo remoto, y espere a que la conexión Telnet compruebe la disponibilidad de recursos de red en el puerto para comprobar si está abierto.

Sin embargo, puede usar Telnet para ejecutar varias tareas. Cuando está conectado correctamente, puede editar 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. Para empezar, puede consultar el pronóstico del tiempo a través del servicio Weather Underground, activo desde 1995 y aún en funcionamiento (porque, seamos sinceros, los pronósticos de televisión pueden ser aburridos).

Además, Telnet le permite jugar al ajedrez en el Servidor de Ajedrez Gratuito por Internet y realmente fusionarse con el espíritu de los viejos maestros digitales.

Para jugar al ajedrez allí, utilice el comando:

o freechess.org

Ahora, para los fanáticos incondicionales de Star Wars, pueden ver el Episodio 4 de Star Wars en el modo ASCII predeterminado. O al menos, la parte de la película que está terminada y disponible para streaming.

Para ello, utilice el siguiente comando en Telnet:

o towel.blinkenlights.nl 23

A través de Telnet, un usuario nostálgico de la red también puede hablar con la psicoterapeuta de IA, Eliza. Incluso si ella rara vez lo entiende, sus líneas están destinadas a alegrarle el día y hacerlo reír.

Para ponerse en contacto con Eliza, escriba el siguiente comando:

o telehack.com, seguido de eliza

Algunos usuarios todavía usan Telnet para administrar y unirse a sistemas de tablones de anuncios basados en texto. Como los foros son de texto plano, no necesitará imágenes o animaciones elaborados para darle vida a los hilos.

En resumen, aparte de su capacidad para verificar el estado del puerto, Telnet se utiliza principalmente para la diversión nostálgica o para equipar un sistema de usuario antiguo que no admite el acceso a datos específicos de otra manera.

¿Cuáles son los tres modos del protocolo 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 comandos de Telnet, viaja a través de una conexión TCP de Telnet y llega a un terminal virtual o físico para satisfacer una conexión terminal-ordenador.

Modo predeterminado

·        Si no se invoca ningún otro modo, Telnet pasará a este modo por defecto.

·        El eco se realiza en este modo por el usuario.

·        Aquí, el usuario puede escribir un carácter, y el cliente hace eco de dicho carácter en la pantalla. Sin embargo, no lo enviará hasta que se complete toda la línea.

Este modo también se conoce como "modo de funcionamiento del dispositivo semidúplex" o "modo semidúplex". Requiere el comando Telnet GA (GO AHEAD) del servidor antes de aceptar cualquier dato de entrada del usuario. La motivación para esto es el alto coste potencial de procesar interrupciones de entrada de red junto con la especificación del Terminal Virtual de Red (NVT, por sus siglas en inglés) de que los "ecos" no atraviesen la red.

Modo de caracter

·        En el modo de caracter de Telnet, solo se transmite un carácter a la vez (dirección de usuario a servidor).

·        El intérprete Telnet del servidor acusará recibo del caracter haciéndose eco de él al cliente.

·        A continuación, el software cliente Telnet enviará de vuelta un paquete TCP ACK al servidor para informar de la recepción del eco desde el mismo.

·        Telnet genera un paquete de datagramas IP para cada carácter, lo que puede causar retrasos en la conectividad debido al alto volumen de tráfico de red (en sistemas más antiguos).

Modo de línea

·        El modo de línea (también conocido como "modo de línea a la vez") deriva del modo de carácter de Telnet.

·        En este modo, los caracteres se hacen eco de una señal explícita definida localmente y se envían al servidor Telnet una vez completados.

·        En el modo de línea, los comandos ECHO o SUPPRESS GO AHEAD están deshabilitados.

Sección de comandos de Telnet

Los comandos de Telnet se distinguen por el uso de varios caracteres con el conjunto de bits más significativo. La parte del flujo de datos de Telnet asegura la incorporación de comandos invocados por los usuarios de la red. Los comandos siempre se introducen a través del decimal 255, también conocido como el carácter Interpretar como Comando (IAC, por sus siglas en inglés).

Los comandos de Telnet definidos consisten en:

WILL – 251: ofrecer o aceptar para habilitar

WON'T – 252: aceptación de la oferta para desactivar

DO – 253: solicitar o aprobar para habilitar la operación

DON'T – 254: desaprobar habilitar o solicitar deshabilitar

SE – 240: parámetros de fin de subnegociación

NOP – 241: sin operación

DM – 242: el comando de Telnet "marca de datos" indica y localiza una secuencia de Sincronización Telnet dentro del flujo de datos —crítico para ir acompañado de una notificación urgente del Protocolo de Control de Transmisión (TCP, por sus siglas en inglés)—.

BRK – 243: comando de interrupción. Indica que se pulsó la tecla "atención" o "interrupción".

IP – 244: suspende, interrumpe o aborta la conexión del terminal virtual de red correspondiente al proceso específico.

AO – 245: aborta la salida. Permite que el proceso se realice, pero no envía datos.

AYT – 246: esto significa "¿Está usted allí?" Solicita enviar evidencia visible de que el AYT fue recibido desde el Terminal Virtual de Red (NVT, por sus siglas en inglés).

EC – 247: comando borrar carácter. El receptor del comando debe borrar el último antecedente no borrado.

EL – 248: comando borrar línea. Borre caracteres de la secuencia de vuelta a (pero sin incluir) la anterior Alimentación de Línea de Retorno del Carro (CRLF, por sus siglas en inglés).

GA – 249: comando Telnet Go Ahead. Utilizado principalmente para informar al otro extremo que puede comenzar a transmitir datos.

SB – 250: indica la subnegociación de las opciones incluidas a seguir.

IAC – 255: el carácter de "Interpretar como comando".

Opciones de comando de protocolo Telnet

Hay varias especificaciones de opciones de Telnet disponibles para negociar entre el cliente de Telnet y el servidor. Esto se puede hacer mediante el uso de comandos en cualquier etapa, siempre y cuando la conexión persista. A continuación, se muestra una lista de las opciones de comando más importantes.

Asignaciones de código reales

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 se someten a un proceso de negociación para presentar al cliente y al servidor una visión común de las capacidades adicionales potenciales que afectan el intercambio y el funcionamiento de las aplicaciones.

Ambos extremos de un diálogo de Telnet pueden habilitar o deshabilitar opciones local o remotamente.

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

El cliente Telnet está integrado en Windows 11, pero para usarlo en Windows Server 2022, usted tendría que habilitarlo, ya que está deshabilitado de forma predeterminada.

Para hacerlo, tendría que pasar por la interfaz gráfica de usuario (GUI, por sus siglas en inglés).

1.     Inicie sesión en Windows Server 2022 con privilegios administrativos

2.     Abra "Administrador del servidor" desde el Menú de Inicio

3.     Seleccione el menú "Administrar" (en la esquina superior derecha) -> seleccione "Agregar roles y características"

4.     En el "Asistente para añadir funciones y características", seleccione "Siguiente" en la línea "Antes de empezar"

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 servidores -> haga clic en "Siguiente"

7.     Haga clic en "Siguiente" en la línea "Seleccionar roles de servidor"

8.     En la pantalla "Seleccionar funciones", desplácese por las funciones disponibles -> marque "Cliente Telnet" -> haga clic en "Siguiente"

9.     Seleccione "Instalar" en la línea "Selecciones de instalación de confirmación"

10. Cierre el "Asistente para añadir funciones y características"

El protocolo Telnet se puede habilitar de varias maneras. A continuación, exploraremos todas las opciones disponibles para que pueda elegir la más eficiente para usted.

Habilitación del cliente Telnet en sistemas operativos Microsoft Windows

Como hemos mencionado, Telnet está deshabilitado de forma predeterminada en la configuración de Windows, por lo que debe encenderlo antes de poder hacer cualquier cosa. Habilitarlo le ayudará a ejecutar los diagnósticos necesarios y comprobar si un puerto está abierto. Si intenta usar Telnet sin encenderlo primero, recibirá un mensaje como este:

Para encender Telnet, debe usar la línea de comandos o la interfaz gráfica de su ordenador.

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

Si desea habilitar Telnet a través de la línea de comandos, 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 que haya puesto esto, Telnet estará listo para usar y verificar sus puertos.

Alternativamente al Símbolo del Sistema, puede usar el siguiente comando PowerShell para lograr el mismo resultado:

Install-WindowsFeature -name Telnet-Client

Si desea utilizar la interfaz gráfica de usuario, debe: [sic]

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

Abra el menú de inicio de Windows > Escriba "Panel de control" > Pulse Enter> "Programas"> "Programas y características" > Activar o desactivar características de Windows > Seleccione "Cliente Telnet" > Pulse "OK"

Cómo habilitar el cliente Telnet en Windows Server 2008:

Abra "Administrador del servidor"> Características > haga clic en "Agregar características" > habilite la casilla de verificación de "Cliente Telnet" > haga clic en "Siguiente"> haga clic en "Instalar"> cuando finalice la instalación de la función, haga clic en "Cerrar".

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

Abra "Administrador del servidor"> "Agregar roles y características"> haga clic en "Siguiente" hasta llegar al paso "Características" > marque "Cliente Telnet" > haga clic en "Instalar"> cuando finalice la instalación de la función, haga clic en "Cerrar".

Cómo usar el comando Telnet para probar puertos abiertos

Una de las mayores ventajas de Telnet es que puede probar si un puerto está abierto con un comando simple. La emisión de la línea Telnet: telnet [nombre de dominio o ip] [puerto] le permitirá probar la conectividad a un host remoto en el puerto dado.

Emita el siguiente comando en el Símbolo del Sistema:

telnet [nombre de dominio o ip] [puerto]

Ponga la dirección IP o el nombre de dominio del servidor al que intenta conectarse en lugar de [nombre de dominio o ip] y reemplace los segundos corchetes con el número de puerto en la máquina remota, la conexión con la que desea probar.

Por ejemplo, para verificar la conexión a 192.168.0.10 en el puerto 25, emita 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 equipo está abierto.

Una conexión fallida irá acompañada de un mensaje de error. Dicha señal puede indicar un puerto cerrado o que el servidor remoto indicado no está escuchando en el puerto proporcionado.

Ejemplo

telnet rpc.acronis.com 443

Acronis
Prueba de puertos abiertos con Telnet
Acronis
Consola Telnet

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 hay una forma oficial de devolverlo, pero aún puede copiarlo de un sistema operativo anterior o compilarlo de fuentes y usarlo en High Sierra. 

Al igual que en Windows, se puede acceder a Telnet a través de Terminal, el símbolo del sistema en macOS. Para abrir telnet, haga clic en "Ir"> "Herramientas"> "Terminal", luego ejecute el siguiente comando (los números son ejemplo de dirección IP y puerto): telnet [nombre de dominio o ip] [puerto], por ejemplo> telnet 192.168.1.1 443

Cuando un puerto de ordenador está abierto, aparecerá una pantalla en blanco, lo que significa que la conexión se ha realizado correctamente. Una conexión fallida irá acompañada de un mensaje de error.

Una alternativa a Telnet en la comprobación de puertos de usuario es la Utilidad de Red. Para comprobar los puertos en un Mac, siga el siguiente plan:

Abra "Utilidad de red"> Haga clic en "Escaneo de puertos"> Indique el nombre del host y los puertos para escanear el host remoto, por ejemplo, myserver.com from 995 to 995 > Compruebe la salida

Actuar sobre los resultados obtenidos de la prueba Telnet

Muchas veces, cuando intenta usar Telnet, puede encontrar que su propia red está bloqueando su conexión. Es común que los usuarios ejecuten un firewall, el cual bloquea la conexión a los puertos de salida. Una forma básica de probar si su firewall está interrumpiendo su Telnet es deshabilitar su firewall y ejecutar una prueba de Telnet.

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

A continuación, introduzca su nombre de usuario y contraseña, y haga clic en "Entrar" o "Iniciar sesión". Diríjase a la sección Seguridad para abrir o cerrar puertos y acceder a otras configuraciones de firewall del router.

Si necesita hacer que los recursos de la red interna sean accesibles desde el exterior, ingrese la sección "Acceso externo"/"Reenvío de puertos". Consulte la documentación del fabricante del router para obtener instrucciones detalladas.

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

SSH significa "Secure Shell" o "Secure Socket Shell". Es un protocolo seguro que permite la comunicación cifrada entre dos ordenadores.

Secure Shell utiliza el Protocolo de Transferencia de Hipertexto (HTTP, por sus siglas en inglés) para transferir hipertexto (páginas web) y compartir datos.

Como SSH permite la comunicación cifrada entre las dos máquinas, es adecuado para redes no seguras.

SSH se utiliza principalmente para establecer una conexión de terminal virtual e iniciar sesión en una máquina remota para realizar operaciones o transferir datos. El puerto predeterminado para la conexión de cliente SSH es 22. Puede cambiar el valor predeterminado introduciendo un número de puerto entre 1024 y 32.767.

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

¿Cómo funciona SSH?

Para establecer el acceso remoto a la terminal a través de Secure Shell, necesitaría un cliente SSH en su ordenador para conectarse al servidor SSH.

El cliente SSH, una vez habilitado, invoca el proceso de configuración de conexión para procesar la comunicación asegurada por un fuerte cifrado simétrico.

El cliente se basa en la criptografía de clave pública para verificar la identidad del servidor SSH, seguido de algoritmos de hash para garantizar la privacidad y la integridad de los datos intercambiados entre el cliente y el servidor.

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

Telnet y SSH son protocolos de red utilizados para administrar un sistema informático remoto.

Pero ¿qué los hace diferentes? Exploremos eso a continuación paso a paso.

·        Diferencia en la definición

Telnet es un protocolo de red de aplicaciones que permite la comunicación del usuario con un ordenador remoto a través de una interfaz basada en texto. Telnet crea una conexión de terminal virtual, lo que permite a los usuarios acceder a las aplicaciones en una máquina remota.

SSH cumple las mismas funciones primarias que Telnet, pero añade seguridad al proceso. Permite el acceso seguro incluso cuando la red conectada no es segura, por lo que es más seguro que el protocolo Telnet. Además, los administradores de red pueden iniciar sesión en una máquina remota a través de SSH, ejecutar comandos, transferir archivos y más.

·        Diferencia en la operación

Telnet requiere una aplicación de servidor instalada en el equipo remoto (la que usted desea administrar) y 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, por sus siglas en inglés). Luego, son recibidos e interpretados por el servidor Telnet y enviados 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 verifica el servidor a través de la autenticación basada en claves. La sesión generada se envía tanto al cliente como al servidor, y todo el tráfico se cifra para la sesión actual.

Por último, el servidor verifica al cliente a través de un par de claves SSH generadas. Después de la autenticación exitosa del cliente, se establece una conexión cifrada, y los dos sistemas pueden intercambiar datos de forma segura.

·        Diferencia en la seguridad

Telnet no proporciona ninguna característica o protocolo de seguridad al transmitir datos. El protocolo de red es altamente vulnerable a las amenazas cibernéticas, a menos que se use en redes privadas, confiables, preferiblemente fuera de línea.

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

·        Diferencia en los formatos de datos

Telnet envía datos como texto sin formato a través del formato NVT.

SSH envía datos en un formato cifrado a través de un canal seguro.

·        Diferencia en la autenticación

Telnet no emplea ningún mecanismo de autenticación.

SSH se basa en el cifrado de clave pública.

·        Diferencia en sistemas operativos compatibles

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

·        Diferencia en el uso del ancho de banda

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

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

¿Cuándo usar Telnet o SSH?

Hay dos casos principales cuando se recomienda el uso de una conexión Telnet en lugar de SSH.

·        Cuando se opera en redes de confianza (por ejemplo, LAN) que están desconectadas de Internet.

·        Cuando se opera con un host remoto que no es compatible con SSH.

En todos los demás casos, es mejor usar SSH, ya que proporciona una alta seguridad para los dispositivos conectados a Internet.

Además, SSH permite más opciones de funcionalidad que Telnet (por ejemplo, transferencia segura de archivos, reenvío de puertos).

¿Se sigue utilizando Telnet?

Telnet es un ser primordial en el universo tecnológico. Y como tal, todavía se está utilizando en escenarios específicos. Telnet es fácil de operar, no requiere conocimientos de alta tecnología y no sobrecarga su red (en la mayoría de los casos).

Como hemos comentado, los administradores de red confían en Telnet (a veces) para acceder y administrar dispositivos de red remotos. Además, los usuarios individuales pueden establecer una conexión Telnet para verificar el estado del puerto en redes privadas y de confianza.

Más de Acronis