El comando NMAP (Network Mapper) es una herramienta utilizada para el análisis de redes, su licencia es de código abierto y es el mejor escáner de puertos para los servidores / red. El comando Nmap se usa ampliamente para auditar la seguridad de la red y también para las pruebas de penetración de las mismas.

Su función principal es mostrar los puertos o servicios abiertos o expuestos en la máquina propia o en una máquina/red destino y adicional puede proporcionar otra información, por ejemplo datos del sistema operativo.

Otra función útil de Nmap es “Descubrir redes”

En esta guía, aprenderemos cómo podemos usar el comando Nmap para probar nuestro sistema o la seguridad de nuestra red y verificar todos los servicios abiertos o expuestos en el sistema de destino con la ayuda de algunos ejemplos.

Instalación de Nmap

Nmap viene instalado en la mayoría de distribuciones Linux, sin embargo, puede utilizar estos comandos para instalarlo en algunas de las distribuciones mas comunes

CentOS / RHEL / Oracle Linux Distribuciones

# yum install nmap

Debian / ubuntu

$ sudo apt-get install nmap

Fedora / CentOS 8 / RHEL 8

$ sudo dnf install nmap

Algunos ejemplos practicos de Nmap

Ahora veamos algunos comandos

  • Escaneando una sola IP

Para escanear un solo sistema en nuestra red, abra el terminal y ejecute el siguiente comando:

$ nmap 192.168.0.10

Del mismo modo, también podemos escanear un sistema con su nombre de host:

$ nmap www.dominio.com

  • Escanear múltiples IP’s

Para escanear múltiples direcciones Ip, las podemos escribir seguidos por un espacio, por ejemplo

$ nmap 192.168.0.10 192.168.0.11

O para escanear un rango de direcciones, se escribe el rango en las opciones

$ nmap 192.168.0.10-114

De manera similar, para escanear una subnet completa

$ nmap 192.168.0.0/24

  • Escaneando lista de direcciones utilizando un archivo

Si ha guardado una lista direcciones IP en un archivo, podemos pasar como variable el nombre del archivo para escanear todas las IPs mencionadas en el archivo

$ nmap –iL listaips.txt

Donde listaips.txt es el archivo que contiene las IPs

  • Escaneo de Puertos

Para escanear un solo puerto en una máquina se menciona el puerto a revisar con la opción ‘p’

$ nmap –p 22 192.168.0.10

Para escanear un rango de puertos

$ nmap –p 100-1000 192.168.0.10

Para escanear todos los puertos 65535 se debe ejecutar

$ nmap –p 192.168.0.10

Para escanear los 100 puertos mas comunes, se utiliza la opción ‘F’

$ nmap –F 192.168.0.10

Este escaneo es conocido como un “Fast Scan”

  • Haciendo Ping a un host (Host Discovery)

Esta opción por lo general es utilizada para verificar si un host (máquina) está arriba (funcionando); también es llamado “Host Discovery”

$ nmap - sP 192.168.0.0/24

  • Escanear los puertos TCP

Para realizar un escaneo de todos los puertos TCP en un host se utiliza la opción ‘sT’

$ nmap –sT 192.168.0.10

  • Escanear los puertos UDP

Para realizar un escaneo de todos los puertos UDP en un host se utiliza la opción ‘sU’

$ nmap –sU 192.168.0.10

  • Verificar Sistema Operativo & Servicios

Para verificar información del Sistema Operativo de un host se utiliza la opción ‘O’

$ nmap –O 192.168.0.10

Adicionalmente podemos verificar los servicios que se encuentren corriendo en el host, se utiliza la opción ‘A’

$ nmap –A 192.168.0.10

  • Mostrar todas las interfaces y rutas del host

Para obtener todas las interfaces que están disponibles en el host y las rutas del sistema, se utiliza la opción “iflist”

$ nmap –iflist 192.168.0.10

  • Escanear un sistema protegido por Firewall

Para escanear un sistema de destino que ha sido protegido por un firewall, podemos usar las opciones ‘PN’

$ nmap –PN 192.168.0.10

  • Enviar los resultados a un archivo

Para enviar los resultados a un archivo de texto se utiliza la opción ‘oN’ seguido por el nombre del archivo

$ nmap –oN salida.txt 192.168.0.10

De manera similar, se puede enviar a un archivo con formato XML utilizando la opción ‘oX’

$ nmap –ox salida.xml 192.168.0.10

Tambien se puede redireccionar directamente a un archivo

$ nmap 192.168.0.10 > archivo.txt

El comando Nmap es bastante extenso para cubrir en un solo artículo, todo lo que hemos mencionado aquí son algunos de los comandos básicos para comenzar con Nmap.