Cómo Hacer Ping A Un Puerto Específico

Hacer ping a los puertos es una de las técnicas más efectivas de resolución de problemas para ver si un servicio está vivo o no. Utilizado por los administradores de sistemas a diario, el comando ping, basándose en el protocolo ICMP, recupera información operativa sobre hosts remotos.

Cómo Hacer Ping A Un Puerto Específico

Sin embargo, hacer ping a los hosts no siempre es suficiente: puede que necesites hacer ping a un puerto específico de tu servidor. Este puerto específico puede estar relacionado con una base de datos, o con un servidor web Apache o incluso con un servidor proxy en tu red.

Índice

    Cómo Hacer Ping A Un Puerto Específico

    En este tutorial, vamos a ver cómo puedes hacer ping a un puerto específico usando una variedad de comandos diferentes.

    Hacer ping a un puerto específico usando telnet

    La forma más fácil de hacer ping a un puerto específico es usar el comando telnet seguido de la dirección IP y el puerto al que quieres hacer ping.

    También puedes especificar un nombre de dominio en lugar de una dirección IP seguido del puerto específico al que se quiere hacer ping.

    $ telnet <ip_address> <port_number>

    $ telnet <domain_name> <port_number>

    El comando "telnet" es válido para los sistemas operativos Windows y Unix.

    Si te encuentras con el error "telnet : command not found" en tu sistema, tendrás que instalar telnet en tu sistema ejecutando los siguientes comandos.

    $ sudo apt-get install telnet

    Como ejemplo, digamos que tenemos un sitio web que se ejecuta en un servidor web Apache en la dirección IP 192.168.178.2 en nuestra red local.

    Por defecto, los sitios web se ejecutan en el puerto 80: este es el puerto específico al que vamos a hacer ping para ver si nuestro sitio web está activo.

    $ telnet 192.168.178.2 80

    Trying 192.168.178.2...

    Connected to 192.168.178.2.

    Escape character is '^]'.

    $ telnet 192.168.178.2 389

    Connected to 192.168.178.2.

    Escape character is '^]'.

    Ser capaz de conectarse a tu host remoto simplemente significa que tu servicio está en funcionamiento.

    Para salir de la utilidad Telnet, puedes utilizar las teclas "Ctrl" + "]" para escapar y ejecutar el comando "q" para salir.

    Hacer ping a un puerto específico usando telnet

    Hacer ping a un puerto específico usando nc

    Para hacer ping a un número de puerto específico, ejecuta el comando "nc" con la opción "v" para "verbose", "z" para "scanning" y especifica el host así como el puerto a ping.

    También puedes especificar un nombre de dominio en lugar de una dirección IP seguido del puerto al que quieres hacer ping.

    $ nc -vz <host> <port_number>

    $ nc -vz <domain> <port_number>

    Este comando funciona para sistemas Unix, pero puedes encontrar alternativas de netcat en línea para Windows.

    Si el comando "nc" no se encuentra en tu sistema, tendrás que instalarlo ejecutando el comando "apt-get install" como usuario sudo.

    $ sudo apt-get install netcat

    Como ejemplo, digamos que quieres hacer ping a un sitio web HTTP remoto en tu puerto 80, ejecutarías el siguiente comando.

    $ nc -vz amazon.com 80

    amazon.com [<ip_address>] 80 (http) open

    Hacer ping a un puerto específico usando nc

    Como puedes ver, la conexión se abrió con éxito en el puerto 80.

    Por otro lado, si intenta hacer ping a un puerto específico que no está abierto, obtendrás el siguiente mensaje de error.

    $ nc -vz amazon.com 389

    amazon.com [<ip_address>] 389 (ldap) : Connection refused

    Puertos de ping usando nmap

    Una forma muy fácil de hacer ping a un puerto específico es utilizar el comando nmap con la opción "-p" para el puerto y especificar el número de puerto así como el nombre del host que se va a escanear.

    $ nmap -p <port_number> <ip_address>

    $ nmap -p <port_number> <domain_name> 

    Nota: si utiliza nmap, ten en cuenta que debes ser consciente de los problemas legales que pueden surgir con él. Para este tutorial, estamos asumiendo que estás escaneando los puertos locales para fines de monitoreo solamente.

    Si el comando "nmap" no está disponible en tu host, tendrás que instalarlo.

    $ sudo apt-get install nmap

    Como ejemplo, digamos que quieres hacer ping al "192.168.178.35/24" en tu red local en el puerto LDAP por defecto: 389.

    $ nmap -p 389 192.168.178.35/24

    Puertos de ping usando nmap

    Como puedes ver, se dice que el puerto 389 está abierto en esta máquina virtual indicando que un servidor OpenLDAP se está ejecutando allí.

    Escaneando un rango de puertos usando nmap

    Para escanear un rango de puertos usando nmap, se puede ejecutar "nmap" con la opción "p" para "puertos" y especificar el rango a ser pingado.

    $ nmap -p 1-100 <ip_address>

    $ nmap -p 1-100 <hostname>

    De nuevo, si intentamos escanear un rango de puertos en el "192.168.178.35/24", ejecutaríamos el siguiente comando

    $ nmap -p 1-100 192.168.178.35/24

    Escaneando un rango de puertos usando nmap

    Hacer ping a un puerto específico usando Powershell

    Si estás ejecutando un ordenador en un entorno Windows, puedes hacer ping a números de puerto específicos utilizando Powershell.

    Esta opción puede ser muy útil si planeas incluir esta funcionalidad en scripts automatizados.

    Para hacer ping a un puerto específico usando Powershell, tienes que usar el comando "Test-NetConnection" seguido de la dirección IP y el número de puerto a ping.

    $ Test-NetConnection <ip_address> -p <port_number>

    Como ejemplo, digamos que queremos hacer ping al host "192.168.178.35/24" en el puerto 389.

    Para conseguirlo, ejecutaríamos el siguiente comando

    $ Test-NetConnection 192.168.178.35 -p 389

    Hacer ping a un puerto específico usando Powershell

    En la última línea, puedes ver si la llamada TCP tuvo éxito o no: en nuestro caso, alcanzó el puerto en el puerto 389.

    Palabras sobre la terminología de Ping

    Técnicamente, no hay tal cosa como "hacer ping" a un puerto específico en un host.

    Enviar una solicitud de "ping" a un host remoto significa que estás utilizando el protocolo ICMP con el fin de comprobar la conectividad de la red.

    El ICMP se utiliza principalmente para diagnosticar problemas de red que impiden llegar a los hosts.

    Cuando haces "ping a un puerto", en realidad estás estableciendo una conexión TCP entre tu ordenador y un host remoto en un puerto específico.

    Sin embargo, es muy común que los ingenieros digan que están "haciendo ping a un puerto" pero en realidad están escaneando o abriendo conexiones TCP.

    Conclusión

    En este tutorial, has aprendido todas las formas que se pueden utilizar para hacer ping a un puerto específico. La mayoría de los comandos utilizados en este tutorial pueden ser utilizados en sistemas operativos Windows, Unix o MacOS.

    Puede que no estén disponibles directamente para ti, pero podrás encontrar alternativas libres y de código abierto para tu sistema operativo. Si estás interesado en la administración de sistemas Linux, tenemos una sección completa dedicada a ello en el sitio web, ¡asegúrate de consultarla!

    TE PUEDE INTERESAR

    Deja un comentario

    Tu dirección de correo electrónico no será publicada.

    Go up