Introducción
El comando ping es una herramienta de red que se utiliza para comprobar si un sistema remoto está activo y en funcionamiento. En otras palabras, el comando determina si una determinada dirección IP o un host son accesibles. Ping utiliza un protocolo de capa de red llamado Protocolo de Mensajes de Control de Internet (ICMP) y está disponible en todos los sistemas operativos.
Por otro lado, los números de puerto pertenecen a protocolos de capa de transporte, como TCP y UDP. Los números de puerto ayudan a identificar a dónde se envía un mensaje de Internet u otra red cuando llega.
En este tutorial, aprenderás cómo hacer ping a un puerto en Windows y Linux utilizando diferentes herramientas.
Requisitos previos
- Un sistema Linux o Windows
- Acceso a la línea de comandos
- Una cuenta con privilegios de sudo/administrador
¿Se puede hacer ping a un puerto específico?
Los dispositivos de red utilizan ICMP para enviar mensajes de error e información sobre si la comunicación con una dirección IP es exitosa o no. ICMP difiere de los protocolos de transporte, ya que ICMP no se utiliza para intercambiar datos entre sistemas.
Ping utiliza paquetes ICMP, y ICMP no utiliza números de puerto, lo que significa que no se puede hacer ping a un puerto. Sin embargo, podemos usar ping con una intención similar: comprobar si un puerto está abierto o no.
Algunas herramientas y utilidades de red pueden simular un intento de establecer una conexión a un puerto específico y esperar a ver si el host de destino responde. Si hay una respuesta, el puerto de destino está abierto. Si no la hay, el puerto de destino está cerrado o el host no puede aceptar una conexión porque no hay un servicio configurado para escuchar conexiones en ese puerto.
¿Cómo hacer ping a un puerto específico en Linux?
Puedes utilizar tres herramientas para hacer ping a un puerto en Linux:
- Telnet
- Netcat (nc)
- Network Mapper (nmap)
Hacer ping a un puerto específico utilizando Telnet
Telnet es un protocolo utilizado para la comunicación interactiva con el host de destino a través de una conexión de terminal virtual.
- Para comprobar si Telnet ya está instalado, abre una ventana de terminal e ingresa el comando
telnet
. - Si Telnet no está instalado, instálalo utilizando el siguiente comando:
- Para CentOS/Fedora:
yum -y install telnet
- Para Ubuntu:
sudo apt install telnet
- Para CentOS/Fedora:
- Para hacer ping a un puerto utilizando Telnet, ingresa el siguiente comando en la terminal:
- Para comprobar si Telnet ya está instalado, abre una ventana de terminal e ingresa el comando
telnet <dirección> <número_de_puerto>
La sintaxis <dirección> es el dominio o la dirección IP del host, mientras que <número_de_puerto> es el puerto al que deseas hacer ping.
telnet google.com 443
Si el puerto está abierto, Telnet establecerá una conexión. De lo contrario, indicará un fallo.
- Para salir de Telnet, presiona Ctrl + ] y ejecuta el comando “q”.
Hacer ping a un puerto específico utilizando Netcat
Netcat (nc) lee y escribe desde conexiones utilizando los protocolos TCP y UDP. Esta herramienta de línea de comandos puede realizar muchas operaciones de red.
- Para comprobar si Netcat está instalado:
- Para Debian, Ubuntu y Mint: ingresa el comando
netcat -h
- Para Fedora, Red Hat Enterprise Linux y CentOS: ingresa el comando
ncat -h
- Para Debian, Ubuntu y Mint: ingresa el comando
- Si Netcat no está instalado, ejecuta el siguiente comando en la terminal:
- Para comprobar si Netcat está instalado:
sudo apt install netcat
- Para hacer ping a un puerto utilizando Netcat, ingresa lo siguiente:
nc -vz <dirección> <número_de_puerto>
La salida informa al usuario si la conexión al puerto especificado es exitosa o no. Si es exitosa, el puerto está abierto.
Hacer ping a un puerto específico utilizando Nmap
Nmap es una herramienta de red utilizada para escanear vulnerabilidades y descubrir redes. La utilidad también es útil para encontrar puertos abiertos y detectar riesgos de seguridad.
Importante: Ten en cuenta las ramificaciones legales con respecto al uso incorrecto de Nmap, por ejemplo, inundar una red o bloquear un sistema.
- Comprueba si tienes Nmap instalado ingresando el comando
nmap -version
en la terminal.
- Comprueba si tienes Nmap instalado ingresando el comando
Si Nmap está instalado, la salida informará al usuario sobre la versión de la aplicación y la plataforma en la que se ejecuta.
- Si no tienes Nmap en tu sistema, ingresa el siguiente comando:
- Para CentOS o RHEL Linux:
sudo yum install nmap
- Para Ubuntu o Debian Linux:
sudo apt install nmap
- Para CentOS o RHEL Linux:
- Una vez que Nmap esté instalado en el sistema, utiliza el siguiente comando para hacer ping a un puerto específico:
- Si no tienes Nmap en tu sistema, ingresa el siguiente comando:
nmap -p <número_de_puerto> <dirección>
La salida informa al usuario sobre el estado y el tipo de servicio del puerto, la latencia y el tiempo transcurrido hasta la finalización de la tarea.
- Para hacer ping a más de un puerto, ingresa
nmap -p <rango_de_números> <dirección>
.
- Para hacer ping a más de un puerto, ingresa
La sintaxis <rango_de_números> representa el rango de números de puerto que deseas hacer ping, separados por un guion.
Por ejemplo:
nmap -p 88-93 google.com
¿Cómo hacer ping a un puerto específico en Windows?
Existen dos formas de hacer ping a un puerto en Windows:
- Telnet
- PowerShell
Hacer ping a un puerto utilizando Telnet
Antes de utilizar Telnet, asegúrate de que esté activado:
- Abre el Panel de Control.
- Haz clic en Programas y luego en Programas y características.
- Selecciona Activar o desactivar las características de Windows.
- Busca Cliente Telnet y marca la casilla. Haz clic en Aceptar.
Has activado el Cliente Telnet en el sistema.
Después de completar la activación, estás listo para hacer ping a un puerto utilizando Telnet.
Sigue estos pasos:
- Busca “cmd” en el menú de inicio. Haz clic en el Símbolo del sistema.
- En la ventana del símbolo del sistema, ingresa:
telnet <dirección> <número_de_puerto>
La sintaxis <dirección> es el dominio o la dirección IP del host, mientras que <número_de_puerto> es el número de puerto que deseas hacer ping.
La salida te indica si el puerto está abierto y accesible. Alternativamente, se mostrará un mensaje de fallo de conexión.
Hacer ping a un puerto utilizando PowerShell
PowerShell es una shell basada en texto que viene por defecto con Windows.
Para hacer ping a un puerto utilizando PowerShell, sigue estos pasos:
- Busca “PowerShell” en el menú de inicio. Haz clic en la aplicación Windows PowerShell.
- En la ventana de la consola de PowerShell, ingresa:
Test-NetConnection <dirección> -p <número_de_puerto>
Si el puerto está abierto y la conexión es exitosa, la prueba TCP es exitosa. De lo contrario, aparecerá un mensaje de advertencia que indica que la conexión TCP ha fallado.
Conclusión
Ahora sabes cómo hacer ping y comprobar si un puerto está abierto utilizando varias herramientas y utilidades de red en Linux y Windows.
Ten en cuenta que no debes hacer pruebas de sondeo TCP ni escanear un sistema a menos que tengas el permiso del propietario. De lo contrario, tus acciones pueden ser interpretadas como un intento de comprometer la seguridad.