Articles

Cómo hacer Ping a un número de Puerto de red (TCP) para verificar si está abierto

en este artículo describiré algunas formas de verificar a través de la red si un puerto TCP remoto en un host está abierto o no. Este es un método popular de solución de problemas para identificar si un servicio o aplicación específica se está ejecutando en un servidor o equipo remoto.

como ya sabrá, cuando una aplicación o servicio se está ejecutando en un host, tiene un puerto TCP o UDP específico asociado para comunicarse a través de una red TCP/IP (i.,e para que el servicio envíe y reciba paquetes TCP/IP a través de la red).

por ejemplo, algunos servicios populares (conocidos) usan los siguientes puertos TCP:

si desea solucionar problemas de conectividad desde su computadora/servidor local hacia un host remoto, es mejor comenzar a trabajar desde las capas OSI inferiores y más para identificar el problema.

por ejemplo, digamos que un servidor Web remoto no responde a las solicitudes HTTP (es decir, ha iniciado su navegador y visitado la URL remota sin respuesta).,

una de las primeras cosas que debe comprobar es si el puerto TCP 80 o 443 del servidor Web remoto está abierto y accesible desde su extremo.

si intenta «hacer ping» a los puertos remotos (es decir, intenta comunicarse con los puertos) y no obtiene respuesta, significa que el problema está en la red entre su extremo y el servidor (tal vez un problema de firewall, un problema de enrutamiento de red, etc.).

3 formas de «hacer Ping» a un puerto remoto

para ser precisos aquí, el término «hacer ping al puerto remoto» no es realmente una instrucción válida., El protocolo» Ping » está usando paquetes ICMP (echo, echo reply, etc.) para identificar si un host remoto está «vivo» (es decir, conectado a la red y respondiendo a los paquetes ICMP).

el protocolo ping no envía paquetes TCP al host remoto para identificar los puertos abiertos.

en este artículo, solo estoy usando el término «ping The port» en el contexto de «poking the port» para verificar si está abierto (escuchando) o no.

veamos tres maneras de comprobar si un puerto está abierto:

usando Telnet

Telnet es un protocolo popular (y muy antiguo e inseguro) para conectarse remotamente a sistemas (e.,g a dispositivos de red, máquinas Linux, etc.).

Tiene sus orígenes en 1969 (desde cuando nació Internet) y proporciona un terminal basado en texto (línea de comandos) para interactuar con sistemas remotos.

de forma predeterminada, el protocolo telnet utiliza el puerto 23 para conectarse al sistema remoto. Sin embargo, puede especificar el puerto de destino (remoto) al que desea conectarse.

Ejemplo:

telnet, www.Google.,com 443 <

como se muestra en la captura de pantalla anterior, he utilizado «telnet» para conectar www.google.com en el puerto 443. La respuesta de Google está «conectada», lo que significa que el puerto 443 está abierto.

Ahora, vamos a tratar de «ping» (conectar) a un puerto aleatorio (por ejemplo, 12345) que probablemente está cerrado:

Telnet www.Google.,com 12345

como puede ver desde arriba, el puerto 12345 no responde a nuestra solicitud telnet, lo que significa que está cerrado.

usando NMAP

he explicado qué es NMAP y cómo usarlo en los artículos aquí y aquí.

básicamente con nmap puede enviar paquetes TCP a puertos remotos específicos y escuchar los paquetes de respuesta para verificar si el puerto está abierto o cerrado.

usemos nmap para ver si el puerto 53 (DNS) está escuchando en el servicio DNS de Google (dirección IP 8.8.8.8)

ejemplo:

:~# nmap-p 53 8.8.8.,8

Como se puede ver desde arriba, el puerto 53 (DNS) es abierto en el servidor remoto (8.8.8.8).

usando NetCat («NC»)

NetCat (abreviado como «nc») se considera la «navaja suiza» de las utilidades de red. Puede enviar y recibir paquetes TCP entre otras funciones útiles.

Similar a Telnet, podemos usar NC para enviar paquetes TCP a un puerto de destino y ver si el puerto está abierto:

Ejemplo:

:~# nc -v www.google.com 80

www.Google.,com 80 (http) open

asegúrese de usar el interruptor «-v» para obtener una salida detallada del comando netcat. Como se muestra arriba, el puerto 80 está abierto en Google.

palabras finales

así que aquí tienes, tres formas diferentes de «hacer ping a un puerto» y comprobar si responde o no. He utilizado los tres métodos anteriores en un host Linux, pero también puede usarlos en máquinas Windows (especialmente NMAP también se puede instalar fácilmente en Windows).,

Nota: Aunque NetCat es una utilidad muy útil, no la use en máquinas Windows porque lo más probable es que el Antivirus detecte la herramienta como»maliciosa». NetCat está siendo utilizado activamente por los hackers (debido a su versatilidad y características de gran alcance) por lo que obtuvo una mala reputación en la industria de la seguridad.