Nmap significa Network Mapper, es una herramienta de descubrimiento y reconocimiento de red gratuita y de código abierto que se utiliza para descubrir hosts y recopilar información detallada sobre un host. Escrito en C, C++ y Python y lanzado inicialmente en septiembre de 1997, nmap se ha convertido en una herramienta integral para los profesionales forenses digitales y de ciberseguridad que confían en él para revelar información detallada sobre los hosts de destino y descubrir vulnerabilidades potenciales. Nmap revela información como hosts activos en una red, puertos abiertos, sistema operativo y detección de servicios, y la realización de escaneos sigilosos, por mencionar solo algunos.
En esta guía, destacamos algunos de los útiles comandos de Nmap que puede usar para recuperar la mayor cantidad de información posible de los sistemas host.
Cómo instalar nmap
Antes de ver varias formas en que se puede usar el comando nmap, veamos cómo puede instalar esta útil herramienta de línea de comandos. La forma universal y más fácil de instalar nmap es usar paquetes instantáneos. Las instantáneas son paquetes de software preconstruidos que se envían con bibliotecas y dependencias. Están disponibles en todas las principales distribuciones de Linux. Puedes encontrar toneladas de instantáneas en la tienda de instantáneas. Sin embargo, antes de instalar Nmap desde paquetes instantáneos, primero debe habilitar el demonio snapd. Esto le permitirá descargar e instalar paquetes instantáneos.
Para instalar Nmap usando instantáneas, ejecute el siguiente comando.
$ sudo snap install nmap
Alternativamente, puede optar por instalar Nmap usando administradores de paquetes únicos para cada familia de distribución de Linux.
Para Ubuntu y Debian
Para distribuciones basadas en Ubuntu/Debian/Mint, use el administrador de paquetes APT como se muestra.
$ sudo apt -y install nmap
Para CentOS 8/RHEL 8/Fedora 22 y versiones posteriores
Para CentOS 8/RHEL 8 y Fedora 22 y versiones posteriores, use el administrador de paquetes dnf.
$ sudo dnf -y install nmap
Para CentOS 7 y RHEL 7
Para CentOS 7/RHEL 7 y versiones anteriores, use el administrador de paquetes yum.
$ sudo yum -y install nmap
Para Arch Linux/Manjaro
Para sistemas basados en Arch, use el administrador de paquetes pacman como se muestra.
$ sudo pacman -S nmap
Después de ver la instalación de nmap, ahora procedamos y veamos 20 asombrosos ejemplos de comandos de nmap en Linux
1) Comando Nmap para escanear un solo host
En su forma básica, el comando nmap se puede usar para escanear un solo host sin pasar ningún argumento. La sintaxis es como se muestra:
$ nmap target-ip
Por ejemplo;
$ nmap 192.168.2.102
Alternativamente, en lugar de especificar la dirección IP, puede especificar el nombre de dominio como se muestra:
$ nmap scanme.nmap.org
2) Escanear varios hosts
Escanear varios hosts a la vez es particularmente útil para redes extensas en las que desea escanear varios hosts a la vez. Es una forma conveniente de escanear hosts en un solo comando en lugar de escanear cada host por separado. Por ejemplo, puede escanear 10 o más hosts o una subred completa mientras trabaja en otra cosa. Hay diferentes maneras de hacer esto.
En primer lugar, puede especificar varias direcciones IP o dominios en una fila separados por un espacio como se muestra;
$ nmap 192.168.2.1 192.168.2.103
En lugar de escribir las direcciones IP completas, puede separar las terminaciones con una coma como se muestra.
$ nmap 192.168.2.1,102,103
Además, puede especificar un rango de direcciones IP usando un guión. Por ejemplo, el siguiente comando escanea hosts desde 192.168.2.1 hasta 192.168.2.100
$ nmap 192.168.2.1-100
3) Escanear una subred con nmap
Además, puede usar un comodín para escanear una subred completa como se muestra:
$ nmap 192.168.2.* OR $ nmap 192.168.2.0/24
Para refinar el escaneo y solo descubrir hosts activos en una subred, use la opción -sP como se muestra.
$ nmap -sP 192.168.2.*
4) Obtenga más información con la opción detallada
Para obtener una salida más robusta durante el escaneo de nmap, use la opción -v. Esta opción imprime los detalles del análisis, como la naturaleza del análisis y los puertos abiertos que se descubren.
$ nmap -v 192.168.2.1
5) Excluir hosts de un análisis de Nmap
Al escanear un rango de hosts, puede decidir excluir un solo host del escaneo. Para lograr esto, use la opción –exclude. En el siguiente ejemplo, hemos excluido el host 192.168.2.20 del análisis.
$ nmap 192.168.2.0/24 --exclude 192.168.2.20
Para excluir varios hosts del análisis de Nmap, especifique los hosts que se excluirán en un archivo y vincule el comando al archivo como se muestra:
$ nmap 192.168.2.* --excludefile exclude.txt
El comando anterior excluye todos los hosts contenidos en el archivo exclude.txt.
6) Realiza un escaneo rápido
Como sugiere el nombre, puede realizar un escaneo mucho más rápido usando nmap pasando el indicador -F como se muestra:
$ nmap -F 173.82.202.201
Sin embargo, un descargo de responsabilidad:este escaneo produce menos puertos que el escaneo normal.
7) Escanear hosts activos en una red
Esto es más como un escaneo de ping. Detecta hosts activos en una subred. Para buscar hosts activos, pase la opción -sn seguida de la dirección IP y la subred. Por ejemplo:
$ nmap -sn 192.168.2.0/24
8) Explorar hosts contenidos en un archivo
Si tiene una red segmentada, especialmente una con VLAN, es probable que tenga hosts en diferentes subredes. Una manera fácil de escanearlos es definiendo sus direcciones IP en un archivo de texto y pasando el archivo como argumento usando la opción -iL.
$ nmap iL hosts.txt
Aquí hay una muestra del archivo host
$ cat hosts.txt 192.168.2.100 192.168.2.102 192.168.20.5-50
9) Realizar un análisis para detectar el cortafuegos
La detección de firewall es especialmente útil cuando se realizan pruebas de vulnerabilidad o piratería ética. Le permite al administrador del sistema saber si el firewall del host de destino está habilitado o no. Para conocer el estado de un firewall, use el indicador -sA como se muestra.
$ nmap -sA 192.168.2.1
Esto inicia un escaneo ACK que examina si los paquetes pueden pasar sin filtrar. Use el indicador -n para evitar la resolución DNS inversa en el host de destino.
10) Realizar la detección del sistema operativo con nmap
Nmap también puede proporcionar información sobre el sistema operativo o el sistema operativo del sistema de destino y también la detección de versiones. Para la detección del sistema operativo, pase la opción -O como se muestra. Vamos a escanear un VPS en la nube alojado en un sistema Linux y ver qué nos ofrece nmap.
$ sudo nmap -O 173.82.202.201
Nmap hace todo lo posible para identificar el sistema operativo y su versión; sin embargo, es posible que los resultados no siempre representen un resultado preciso.
11) Realizar escaneo de puertos
Una de las tareas esenciales de la herramienta nmap es escanear puertos en un sistema host. Puede ir al grano y especificar un puerto para escanear usando el indicador -p seguido del número de puerto como se muestra:
$ nmap -p 80 173.82.202.201
Además, puede buscar varios puertos separándolos con una coma como se muestra:
$ nmap -p 80,443 192.168.2.1
También puede definir un rango de puertos para escanear separándolos con un guión.
$ nmap -p 80-443 192.168.2.1
12) Buscar puertos TCP/UDP
Puede limitarse a escanear puertos que sean TCP o UDP. Para escanear puertos TCP, use la opción -sT como se muestra.
$ nmap -sT 173.82.202.201
Para un puerto TCP en particular, como el puerto 80, ejecute:
$ nmap -p T:80 173.82.202.201
Para puertos UDP, use la opción -sU.
$ nmap -sU 173.82.202.201
Para un puerto UDP en particular, como el puerto 69, ejecute:
$ nmap -p U:69 173.82.202.201
13) Descubre la versión del servicio
Al escanear en busca de posibles vulnerabilidades, es crucial detectar los servicios en ejecución y sus versiones, así como los puertos en los que están escuchando. Esto le permite saber qué servicios puede aprovechar un atacante para comprometer su sistema. El conocimiento sobre las versiones de servicio y puerto le permite tomar una decisión sobre si actualizar los servicios a sus últimas versiones o desinstalarlos por completo.
Para recopilar información sobre servicios y puertos, use el indicador -sV.
$ nmap -sV 173.82.202.201
14) Realiza un escaneo sigiloso
Un escaneo de nmap suele ser "ruidoso" y deja huellas que pueden ser marcadas por un IDS (sistema de detección de intrusos) sólido y, finalmente, rastrearse hasta usted. Para permanecer en el anonimato, puede realizar un análisis sigiloso con la opción -sS.
$ nmap -sS 173.82.202.201
15) Determinar los protocolos de IP admitidos
Puede recuperar información sobre los protocolos admitidos por un sistema de destino (ICMP, TCP, UDP, etc.) utilizando el indicador -sO.
$ sudo nmap -sO 173.82.202.201
16) Realiza un escaneo agresivo
Cuando se usa la opción -A, nmap brinda resultados de escaneo muy detallados, incluidos los puertos abiertos y las versiones de los servicios en ejecución, la detección del sistema operativo e incluso realiza un seguimiento de la ruta de los hosts de destino.
$ nmap -A 173.82.202.201
17) Guardar la salida de nmap en un archivo
De forma predeterminada, nmap imprime los resultados del escaneo en el terminal. Pero si necesita guardar los resultados en un archivo de texto para realizar más análisis a su conveniencia, puede usar el operador de redirección como se muestra.
$ nmap 173.82.202.201 > scanme.txt
Para verificar que los resultados del escaneo se hayan guardado, use el comando cat como se muestra.
$ cat scanme.txt
Además, puede pasar la opción -oN seguida del archivo de salida y el host.
$ nmap -oN scanme.txt scanme.nmap.org
18) Imprime las interfaces y rutas del host
A veces, puede encontrar la necesidad de encontrar las interfaces y rutas del sistema host para fines de depuración. Esto se puede lograr fácilmente pasando la opción –iflist.
$ nmap --iflist
19) Obtén ayuda con nmap
Para saciar su curiosidad sobre opciones adicionales de nmap, use la marca -h. Esto es sinónimo de obtener ayuda con los comandos nmap.
$ nmap -h
20) Verificar la versión de nmap
Para comprobar la versión de nmap que está utilizando, ejecute el comando:
$ nmap -v
Esos son solo 20 de los comandos básicos de Nmap que puede usar para enumerar varios sistemas host. Todavía hay muchas opciones de nmap que puede usar para obtener detalles refinados sobre el sistema de destino, pero los ejemplos que hemos enumerado son un buen lugar para comenzar. Esperamos que esta guía le haya resultado útil para familiarizarlo con la herramienta nmap y varios ejemplos de comandos.
Leer también :Ejemplos de comandos 9 tee en Linux