Las siguientes instrucciones permite verificar si un puerto X esta abierto en la red, posiblemente no tenemos acceso desde afuera (Internet), debido a que posiblemente exista algo que interfiera con la comunicación, posiblemente un firewall.

Para realizar esta tarea necesitamos usar varias herramientas, entre ellas tenemos el nmap, netcat y algo de astucia. Primero nos olvidamos de un supuesto servicio; sea PostgreSQL, Apache, Tomcat, POP3, Etc… simplemente vamos a emular un puerto y enviar cualquier información, de esta forma corroboramos su debido funcionamiento, descartando un mal funcionamiento o configuración del servicio. El procedimiento consiste en aseguramos que dentro de la red de la empresa se encuentra en correcto funcionamiento, luego se verifica desde Internet para establecer comunicación, al no existir, se considera que el firewall debe estar entorpeciendo la comunicación, solo si es el único elemento existente entre la red de la empresa e Internet.

Para iniciar el servicio de escucha a un determinado puerto ejecutamos el siguiente comando en un servidor con acceso directo a Internet:


nc -l 80

Ahora debemos explorar si el servicio del puerto 80 esta en ejecución con el comando nmap, tanto de forma local y remota:


nmap localhost

Desde el equipo remoto.


nmap empresa.no-ip.com

Si en la lista que nos muestra al finalizar el análisis, observamos el puerto 80 con el estado open, esto nos indica que el servicio esta en ejecución, pero no es el todo, ahora falta verificar si existe acceso local, en la misma red y desde Internet para salir de dudas.

Desde un equipo local y remoto tratamos de establecer comunicación con el comando netcat de la siguiente forma al servidor:


nc empresa.no-ip.com 80

Una ves que este en ejecución, por ende la comunicación entre los dos equipos esta establecida, podrá escribir cualquier texto en uno de los dos terminales y se vera reflejado en el otro. 

Cuando se establece la conexión y hay comunicación, es mas que suficiente para demostrar que el puerto se encuentra abierto, de lo contrario hay algo que interfiere en la comunicación y abra que seguir descartando.

Documentación de los comandos: