LINUX: Averiguar puertos abiertos en tu red. Nmap.

Hoy desde myvlcsys.com vamos a explicar como averiguar los puertos de red que tenemos abiertos en nuestra LAN hacia Internet. Existen otras forma de hacerlo pero con el paquete NMAP podremos hacerlo en nuestro entorno Linux de forma gratuita. Esta herramienta puede ser muy útil para evitar posibles ataques no deseados a nuestra red.

Instalación de Nmap

Para CentOSRHEL, Fedora, Scientific Linux podemos instalarlo directamente a partir de los repositorios base del sistema:

# yum install nmap

En Debian y Ubuntu también:

# apt-get install nmap

Para Windows, os podéis descargar los binarios del sitio web oficial de nmap.org

Una vez instalado el paquete nmap, vamos a realizar unos cuantos ejemplos en una máquina virtual del laboratorio de myvlcsys, para comprobar su funcionamiento.

Lo primero que tenemos observar es las opciones generales de uso, para ello ejecutaremos el comando sin parámetros:

Pequeña muestra de opciones

Especificar un puerto a red a escanear:

Una de las muchas opciones que ofrece la herramienta es la de escanear un único host en busca de información sobre el mismo (servicios abiertos, puertos de escucha, sistema operativo…), como una red completa, para lo cual lo haremos con el comando nmap + ip a escanear, como mostramos en el siguiente ejemplo:

Ejecución del comando nmap

El resultado del escaneo de una estación de trabajo de nuestras red, nos mostrará la información que aparece en la captura de la terminal de comandos de la imagen anterior. En la que podemos observar información tal como:

  • El host escaneado
  • El tiempo usado en el escaneo
  • Los puertos de red cerrados
  • Puertos de red abiertos con su descripción
  • La dirección Mac del dispositivo y sistema operativo de la máquina remota.

Especificar un rango de red a escanear:

Podremos hacer lo mismo para un segmento de red completo y ejecutaría el escaneo en todas las máquinas de la red:

nmap 192.168.1.0/24

o incluso podríamos excluir algunas de nuestras máquinas de la red, de la siguiente forma:

nmap 192.168.1.0/24 –exclude 192.168.1.10 , 192.168.1.11

el resultado para nuestra red sería el que mostramos a continuación:

Resultado del nmap 192.168.1.0/24

Encontrar hosts de una red:

Oltra de las funcionalidad que presenta está herramienta, además de buscar hosts en una red, también podríamos escanear todos los puertos y servicios de cada host. Esto llevará bastante tiempo, así que si lo que queremos es únicamente hacer un rastreo rápido de la red en busca de los hosts que están online.

Mostrar una lista de los hosts de la red sin mandar ningún tipo de paquete al host, únicamente ejecuta un Reverse DNS para encontrar el hostname:

nmap -sL 192.168.1.0/24

Buscar hosts pero sin efectuar escaneo de puertos. Básicamente es un «ping scan», sólo lanza un ping al host y si responde lo lista por pantalla:

nmap -sn 192.168.1.0/24

Resultado del comando nmap -sP 192.168.1.0/24

Después de hacer una pequeña pincelada de la utilidad, os dejamos más opciones de nmap, para que podáis ir investigando vosotros mismos.

Escanear todos los puertos de un host con información extendida (verbose):

nmap -v 192.168.1.100

Escanear un único puerto en un host:

nmap -p 80 192.168.1.100

Buscar puertos TCP abiertos en una máquina:

nmap -sT 192.168.1.100

Buscar puertos UDP abiertos en una máquina:

nmap -sU 192.168.1.100

Escaneo de protocolos de un host (además de TCP,UDP, muestra disponibilidad de ICMP, IGMP…):

nmap -sO 192.168.1.100

Escanear un rango de puertos:

nmap -p 80-200 192.168.1.100

Escanear un rango de puertos y unos puertos específicos, tanto TCP como UDP:

nmap -p U:53,161,8888,T:1000-2000,80,25,8888,8080 192.168.1.100

Mostrar rutas e interfaces de un host:

nmap --iflist 192.168.1.201