Instalación
apt-get install nmap
Una vez que lo han instalado, abran la consola e introducen el comando nmap sin parámetros, si todo está bien verán una pantalla similar como la de la captura que está más abajo
Comando a ejecutar:~$: nmap
Salida en la consola:
Algo básico para comenzar es saber, que podemos tanto escanear un único host en busca de información sobre el mismo (servicios abiertos, puertos de escucha, sistema operativo…), como una red completa. Si queremos escanear una red podemos especificar la máscara en formato CIDR, rango concreto de IPs (10.0.0-255.1-254). El modo más básico de escanear un host es indicar su IP o hostname como parámetro a Nmap:
Comando a ejecutar:~$: nmap IP-HOST
Salida en la consola:
Comando a ejecutar:~$: nmap 192.168.0.0/24
Salida en la consola:
Si queremos excluir algún host de la red, los especificamos con el parámetro “–exclude” seguido de los hosts separados por comas:
Comando a ejecutar:~$: nmap IP-RED/24 --exclude IP-HOST,IP-HOST
Salida en la consola:
Podemos leer los hosts a incluir y excluir en el escaneo directamente de una lista en archivo de texto.
Comando a ejecutar:~$: nmap -iL archivo_de_entrada
Salida en la consola:
Excluir hosts de un archivo:
Comando a ejecutar:~$: nmap --excludefile archivo_de_entrada
Salida en la consola:
Encontrar hosts de una red
Con los ejemplos anteriores, además de buscar hosts en una red también se escaneaban 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.0.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:
Comando a ejecutar:~$: nmap -sL 192.168.0.0/24
Salida en la consola:
Comando a ejecutar:~$: nmap -sP 192.168.0.0/24
Salida en la consola:
Con el primer comando que hemos ejecutado ya se estaban escaneando los puertos de cada host que se consultaba. Concretamente sin parámetros se escanean 1000 puertos TCP. El estado de los puertos se divide en los siguientes, y así es como nos lo mostrará en la salida del comando: open, closed, filtered, unfiltered, open|filtered, y closed|filtered. Básicamente, puerto abierto, cerrado, filtrado, no filtrado, abierto|filtrado y cerrado|filtrado.
La técnica de escaneo es realmente amplia, hay muchísimas combinaciones y parámetros disponibles así que me voy a ceñir a mostrar unos cuantos ejemplos. Os remito a la documentación oficial que podéis encontrar en un enlace al final de artículo para mayor detalle y ejemplos bastante más complejos y con funciones específicas.
Escanear todos los puertos de un host con información extendida (verbose):
Comando a ejecutar:~$: nmap -v 192.168.0.100
Salida en la consola:
Escanear un único puerto en un host:
Comando a ejecutar:~$: nmap -p 80 192.168.0.100
Salida en la consola:
Buscar puertos TCP abiertos en una máquina:
Comando a ejecutar:~$: nmap -sT 192.168.0.100
Salida en la consola:
Buscar puertos UDP abiertos en una máquina:
Comando a ejecutar:~$: nmap -sU 192.168.0.100
Salida en la consola: