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 utilizando nc
para hacer ping a un número de puerto específico, ejecutar el «nc» comando con la «v» de la opción «verbose», «z» para «escanear» y especificar el host así como el puerto de 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
owerShell
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.