Como Comprobar si Tienes Puertos Abiertos en tu Sistema con Nmap

Si tienes tu firewall o cortafuegos correctamente habilitado y configurado y quieres comprobar desde fuera del sistema si realmente está haciendo su función y realmente todos tus puertos aparecen filtrados (y por lo tanto invisibles desde el exterior), en este post verás como hacerlo de una manera muy sencilla utilizando la herramienta Nmap.

En este post verás:

  1. Asegurate de tener un firewall habilitado
  2. Instalar Nmap en Windows o GNU/Linux
  3. Identificar la IP interna del dispositivo
  4. Identificar el estado de los puertos
  5. Para terminar

Asegúrate de Tener el Firewall Habilitado

En Windows, el cortafuegos del sistema ya viene habilitado y configurado por defecto, pero en muchas distribuciones GNU/Linux esto no es así. Si trabajas en Linux y aun no lo has habilitado, en estos posts tienes explicado como hacerlo utilizando UFW en Ubuntu, o el script Arno Iptables firewall.

Pues bien, suponiendo que ya tenemos nuestro firewall configurado y habilitado, ya sea en Linux, Windows, o cualquier otro sistema operativo, vamos a ver una manera rápida y efectiva de comprobar si realmente esta habilitado y actúa como esperas.

Para este caso, vamos a hacer uso de la herramienta Nmap. Para que se vea correctamente el resultado, almenos por la experiencia que he tenido, se debe hacer el escaneo desde otro PC diferente al que queremos escanear.

Instalar Nmap en Windows o GNU/Linux

Una vez conocidos los detalles del dispositivo a escanear, desde cualquier otro PC de la misma red instalaremos Nmap.

En Windows y OS X, la instalación se puede realizar directamente descargando el ejecutable de la web oficial, y ejecutando la instalación.

En Ubuntu, lo podemos hacer desde el Centro de Software, o sino desde la terminal tecleando el siguiente comando:

sudo apt-get install nmap

Identifica la IP Interna del Dispositivo

El escaneo se realiza por dirección IP, y a nivel de la red interna, por lo que de entrada, necesitaras conocer la dirección IP privada o interna del dispositivo que quieres escanear.

Si no sabes como ver la IP privada, en Ubuntu, y en general cualquier otro distro Linux que utilice el escritorio GNOME, es tan simple como acceder a la ventana de configuración del sistema y seleccionar la opción Red. En la ventana que se abra, podrás ver claramente la dirección IP interna.

Comprobar IP

Identificar el Estado de los Puertos

Una vez conocidos los detalles del dispositivo que quieres escanear, desde el otro PC en el que ya tengamos instalado Nmap, abriremos una terminal y podremos ir probando algunas de las opciones que nos ofrece.

Antes de nada, conviene aclarar cuales son los tres estados en los que se puede encontrar un puerto:

  • Opened: Cuando hay un servicio escuchando, como un servidor FTP (puerto 21), Telnet (puerto 23), un servidor de correo SNMP (puerto 25) o un servidor web (puerto 80 o 443 si funciona con HTTPS) entre una larga lista de posibles ejemplos.
  • Closed: Cuando no hay ningún servicio escuchando, pero el puerto se muestra visible desde el exterior.
  • Filtered: Cuando se muestra invisible desde el exterior, debido a la presencia de un cortafuegos.

Comentado esto, la secuencia de comandos de Nmap es realmente muy sencilla, pero se puede complicar tanto como quieras debido a la gran cantidad de parámetros que se pueden pasar.

En este post solo veremos algunas de las opciones más sencillas, que son las que yo conozco y que nos servirán para escanear un PC de nuestra red en buscar de puertos abiertos.

A continuación veamos algunas de los posibles casos con los que nos podemos encontrar, junto con varias opciones sencillas. Empecemos…

Escaneo Simple

La opción más simple de escaneo consiste en introducir la sentencia ‘nmap’ junto con la dirección IP del dispositivo que deseamos escanear, que en el caso anterior seria la 192.168.1.35.

Si el firewall está correctamente habilitado, al introducir la sentencia te mostrará que el host está ‘up’ y que los 1000 puertos escaneados en el dispositivo están en estado ‘filtered’, es decir que aparecen como invisibles desde el exterior.

sudo nmap <dirección IP>
All 1000 scaned ports on <dirección IP> are filtered

Utilizando la misma opción, si el firewall está deshabilitado, el resultado es posible que sea algo como este:

sudo nmap <dirección IP>
All 1000 scanded ports on <dirección IP> are closed

En este caso muestra que los 1000 puertos están cerrados, porque no hay ningún servicio escuchando. Si hay algún servicio conectado, te mostrará que tal puerto está abierto debido a que tal servicio está escuchando.

Escaneo con Parámetro -Pn

Algunas veces, si el dispositivo a escanear está configurado para bloquear intentos de PING, el escaneo simple puede que no lo detecte como conectado. En este caso, es recomendable utilizar el parámetro -Pn, que sirve para indicar a Nmap que no realize PING al host de destino.

Si el firewall está habilitado y configurado con la política de filtrar todos los puertos, el resultado debería ser similar al que sigue:

sudo nmap -Pn <dirección IP>
All 1000 scanned ports on <dirección IP> are filtered

Si el firewall está deshabilitado, pero no hay ningun servicio expresamente escuchando en ninguno de los puertos, este es el resultado que deberías obtener:

sudo nmap -Pn <dirección IP>
All 1000 scanned ports on <dirección IP> are closed

Para Terminar

Estas son algunas de las opciones que te permite Nmap para identificar puertos abiertos en un dispositivo, y para ver si el firewall está filtrando los puertos correctamente.

En relación a esto, también te puede interesar echarle un ojo a Rkhunter, un analizador de rootkits para GNU/Linux, disponible en los repositorios oficiales de la gran mayoría de distribuciones. Entre sus múltiples tests, también puede detectar la presencia de puertos abiertos ocultos.

Espero que te haya resultado útil este mini tutorial sobre como comprobar el estado de los puertos de tu sistema desde fuera del PC. Si no conocías Nmap puedes encontrar mucha más documentación en su web oficial enlazada al final del post. Para que veas los usos que puede tener, hace algún tiempo postee otra guía sobre como detectar intrusos en tu red wifi con Nmap.

Recursos  |  Nmap

Categorías Linux, SeguridadEtiquetas ,

3 comentarios en “Como Comprobar si Tienes Puertos Abiertos en tu Sistema con Nmap

  1. Tomás Arce 19 Mar 2016 — 19:38

    Hola que tal.Uso Lubuntu 14.04 tengo el firewall habilitado de esta manera:sudo ufw default deny e hice lo de nmap pero no me aparece filtered,sino closed ¿porqué? saludos….

    Me gusta

  2. Luis García 21 Jun 2015 — 13:20

    Es bueno, me ha servido mucho, gracias por todo

    Me gusta

    1. De nada Luis, gracias a ti por pasarte;)

      Me gusta

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.