hacer ping a puertos es una de las técnicas de solución de problemas más efectivas para ver si un servicio está activo o no.

utilizado diariamente por los administradores del sistema, el comando ping, basándose en el protocolo ICMP, recupera información operativa sobre hosts remotos.

sin embargo, hacer ping a los hosts no siempre es suficiente : es posible que necesite hacer ping a un puerto específico en su 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 su red.

en este tutorial, vamos a ver cómo puede hacer ping a un puerto específico utilizando una variedad de comandos diferentes.

Tabla de Contenidos

Ping Puerto Específico mediante telnet

La forma más fácil para hacer ping a un puerto específico es utilizar el comando telnet seguido por la dirección IP y el puerto que desea ping.

también puede especificar un nombre de dominio en lugar de una dirección IP seguida del puerto específico al que se hará ping.,

$ telnet <ip_address> <port_number>$ telnet <domain_name> <port_number>

el comando «telnet» es válido para sistemas operativos Windows y Unix.

si se enfrenta al error «telnet: command not found» en su sistema, tendrá que instalar telnet en su 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 que vamos a ping para ver si nuestro sitio web está activo.,

poder conectarse a su host remoto simplemente significa que su servicio está en funcionamiento.

para salir de la utilidad Telnet, puede usar las pulsaciones de teclas» Ctrl»+»] «para escapar y ejecutar el comando» q » para salir.

Ping puerto específico usando nc

para hacer ping a un número de puerto específico, ejecute el comando «nc» con la opción «v» para «verbose», «z» para «scanning» y especifique el host, así como el puerto al que se hará ping.,

también puede especificar un nombre de dominio en lugar de una dirección IP seguida del puerto al que desea hacer ping.

$ nc -vz <host> <port_number>$ nc -vz <domain> <port_number>

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

si el comando» nc «no se encuentra en su sistema, necesitará instalar ejecutando el comando» apt-get install » como usuario de sudo.

$ sudo apt-get install netcat

como ejemplo, digamos que desea hacer ping a un sitio web HTTP remoto en su puerto 80, ejecutaría el siguiente comando.,

$ nc -vz amazon.com 80amazon.com 80 (http) open

Como puede ver, la conexión se abre correctamente en el puerto 80.

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

$ nc -vz amazon.com 389amazon.com 389 (ldap) : Connection refused

Ping Ports using nmap

una forma muy fácil de hacer ping a un puerto específico es usar el comando nmap con la opción «-p» para puerto y especificar el número de puerto, así como el nombre de host a escanear.,

$ nmap -p <port_number> <ip_address>$ nmap -p <port_number> <domain_name>

Nota : Si está utilizando nmap, tenga en cuenta que debe estar al tanto de los problemas legales que pueden venir con él. Para este tutorial, asumimos que está escaneando puertos locales solo con fines de supervisión.

Si el comando «nmap» no está disponible en su host, tendrá que instalarlo.

$ sudo apt-get install nmap

como ejemplo, digamos que desea hacer ping al «192.168.178.35/24» en su red local en el puerto LDAP predeterminado : 389.,

$ nmap -p 389 192.168.178.35/24

Como puede ver, el puerto 389 se dijo que se abrirán en esta máquina virtual que indica que un servidor OpenLDAP está funcionando.

Scanning port range using nmap

para escanear un rango de puertos usando nmap, puede ejecutar » nmap «con la opción» p «para» ports » y especificar el rango que se desea hacer ping.

$ nmap -p 1-100 <ip_address>$ nmap -p 1-100 <hostname>

de Nuevo, si tratamos de analizar 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

si ejecuta un equipo en un entorno Windows, puede hacer ping a números de puerto específicos mediante PowerShell.

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

para hacer ping a un puerto específico usando Powershell, debe usar el comando» Test-NetConnection » seguido de la dirección IP y el número de puerto a hacer 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 ello, ponemos el siguiente comando

$ Test-NetConnection 192.168.178.35 -p 389

En la última línea, usted es capaz de ver si el TCP de la llamada se ha realizado correctamente o no : en nuestro caso, se hizo llegar al puerto en el puerto 389.

Word on Ping terminología

técnicamente, no hay tal cosa como «ping» un puerto específico en un host.,

enviar una solicitud «ping» a un host remoto significa que está utilizando el protocolo ICMP para verificar la conectividad de red.

ICMP se utiliza principalmente para diagnosticar problemas de red que le impedirían llegar a los hosts.

cuando está «haciendo ping a un puerto», en realidad está estableciendo una conexión TCP entre su computadora y un host remoto en un puerto específico.

sin embargo, es extremadamente común que los ingenieros declaren que están «haciendo ping a un puerto», pero en realidad están escaneando o abriendo conexiones TCP.,

conclusión

en este tutorial, aprendiste todas las formas que se pueden usar para hacer ping a un puerto específico.

la mayoría de los comandos utilizados en este tutorial se pueden usar en sistemas operativos Windows, Unix o MacOS.