Introducción
En este laboratorio, aprenderá a entender la sintaxis del comando Nmap. El laboratorio comienza guiándole a abrir una terminal en Xfce y ejecutar un escaneo básico de Nmap en su sistema local utilizando el comando nmap 127.0.0.1. También explorará varias opciones, como mostrar ayuda con -h, aumentar la verbosidad con -v, habilitar la depuración con -d y combinar opciones. Finalmente, probará la sintaxis en su red local con nmap -v 192.168.1.1.
Abre una terminal en Xfce y ejecuta nmap 127.0.0.1
En este paso, aprenderá a usar la herramienta Nmap (Network Mapper) para escanear su sistema local. Nmap es una utilidad de escaneo de red poderosa que le permite descubrir hosts y servicios en una red de computadoras al enviar paquetes y analizar las respuestas.
Comprendiendo los conceptos básicos de Nmap
Nmap es comúnmente utilizado por administradores de sistemas y profesionales de seguridad para:
- Inventario y mapeo de redes
- Encontrar puertos abiertos en hosts de red
- Identificar servicios en ejecución y sus versiones
- Auditoría de seguridad y evaluación de vulnerabilidades
Abriendo una terminal en Xfce
Antes de poder usar Nmap, necesitamos abrir una terminal en el entorno de escritorio Xfce:
- Busque el icono de la terminal en el panel de Xfce (por lo general en la parte superior o inferior de su pantalla)
- Alternativamente, puede usar la combinación de teclas
Ctrl+Alt+Tpara abrir una ventana de terminal - También puede hacer clic derecho en el escritorio y seleccionar "Abrir terminal aquí" del menú contextual
Ejecutando su primer escaneo con Nmap
Ahora que tiene una terminal abierta, realizará su primer escaneo con Nmap en su máquina local (localhost). La dirección IP 127.0.0.1 siempre se refiere a la máquina local que está utilizando actualmente.
- En la terminal, asegúrese de estar en el directorio predeterminado:
cd ~/project
- Ejecute el siguiente comando para escanear su localhost:
nmap 127.0.0.1
- Espere a que el escaneo se complete. Dependiendo de su sistema, esto puede tomar unos segundos.
Comprendiendo la salida
Después de ejecutar el comando, debería ver una salida similar a la siguiente:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-21 15:30 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00016s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3306/tcp open mysql
Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
Analicemos esta salida:
- El encabezado muestra la versión de Nmap y la hora de inicio del escaneo
- "Host is up" confirma que el objetivo (su máquina local) está en línea
- "Not shown: 997 closed ports" indica que la mayoría de los puertos están cerrados
- La lista muestra qué puertos están abiertos y qué servicios probablemente se están ejecutando en ellos
- La línea de resumen muestra las estadísticas del escaneo
Nota: Sus resultados reales pueden variar ya que los puertos abiertos dependen de qué servicios están actualmente en ejecución en su máquina virtual de LabEx.
Este escaneo básico le proporciona información importante sobre qué servicios de red están activos en su sistema, lo que proporciona una base para análisis de seguridad adicional o solución de problemas.
Muestra la ayuda de Nmap con nmap -h
En este paso, aprenderá a acceder a la documentación de ayuda integrada de Nmap. Comprender cómo acceder y usar la información de ayuda es fundamental para dominar cualquier herramienta de línea de comandos, incluyendo Nmap.
¿Por qué usar las opciones de ayuda?
Las herramientas de línea de comandos a menudo tienen numerosas opciones y funciones que pueden ser difíciles de recordar. La opción de ayuda proporciona una referencia rápida de los comandos disponibles, su sintaxis y descripciones breves. Para Nmap, la documentación de ayuda es especialmente valiosa ya que tiene muchas opciones de escaneo para diferentes escenarios.
Mostrando la información de ayuda de Nmap
Para mostrar la información de ayuda de Nmap, siga estos pasos:
Asegúrese de que todavía está trabajando en la ventana de terminal del paso anterior.
Si es necesario, navegue de nuevo al directorio predeterminado:
cd ~/project
- Ejecute el siguiente comando para mostrar la información de ayuda de Nmap:
nmap -h
Comprendiendo la salida
Después de ejecutar el comando, verá una salida de ayuda completa que incluye:
- La sintaxis de uso básica
- Opciones de especificación de objetivos
- Opciones de descubrimiento de hosts
- Técnicas de escaneo
- Opciones de especificación de puertos
- Detección de servicios/versiones
- Opciones de tiempo y rendimiento
- Y muchas más categorías
A continuación, se muestra un ejemplo parcial de lo que verá:
Nmap 7.80 ( https://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
Puede pasar nombres de host, direcciones IP, redes, etc.
Ej: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL <inputfilename>: Entrada de una lista de hosts/redes
-iR <num hosts>: Elegir objetivos aleatorios
...
Secciones clave a destacar
A medida que revise la información de ayuda, preste atención en particular a estas secciones importantes:
- Especificación de objetivos: Muestra cómo especificar diferentes tipos de objetivos (hosts individuales, rangos de IP, etc.)
- Técnicas de escaneo: Los diferentes tipos de escaneos que puede realizar Nmap
- Opciones de salida: Maneras de controlar cómo Nmap presenta sus resultados
- Plantillas de tiempo: Opciones para controlar la velocidad y la agresividad del escaneo
Usar efectivamente la información de ayuda
La documentación de ayuda es extensa, por lo que no es necesario memorizar todas las opciones. En cambio, concentrese en comprender las categorías generales y en saber cómo acceder rápidamente a la ayuda cuando sea necesario.
Para los siguientes pasos de este laboratorio, utilizará algunas de las opciones que ve en esta documentación de ayuda, en particular las opciones de verbosidad (-v) y depuración (-d).
Incrementa la verbosidad con nmap -v 127.0.0.1
En este paso, aprenderá a aumentar la verbosidad de los escaneos de Nmap utilizando la opción -v. La verbosidad controla la cantidad de información que Nmap muestra durante su proceso de escaneo, lo cual es extremadamente útil para entender lo que está sucediendo detrás de escena.
Comprendiendo la verbosidad en Nmap
Cuando se ejecutan herramientas de línea de comandos como Nmap, la salida predeterminada a menudo proporciona solo la información esencial. Sin embargo, hay ocasiones en las que necesita información más detallada sobre:
- Lo que la herramienta está haciendo en cada paso
- Información de tiempo sobre el escaneo
- Detalles adicionales sobre los hosts y servicios descubiertos
- Mensajes de advertencia y problemas menores
La bandera -v (abreviatura de "verbose") instruye a Nmap para proporcionar una salida más detallada durante su operación.
Beneficios de aumentar la verbosidad
Aumentar la verbosidad es particularmente útil cuando:
- Se está solucionando problemas de escaneo
- Se está aprendiendo cómo funciona Nmap
- Se desea obtener una comprensión más profunda del comportamiento de la red
- Se están identificando posibles problemas con la configuración de su escaneo
- Se está recopilando datos más exhaustivos para su análisis
Ejecutando Nmap con verbosidad aumentada
Ejecutemos un escaneo de Nmap con verbosidad aumentada:
Asegúrese de que todavía está en la ventana de terminal de los pasos anteriores.
Si es necesario, navegue de nuevo al directorio de proyecto predeterminado:
cd ~/project
- Ejecute el siguiente comando para realizar un escaneo detallado de su localhost:
nmap -v 127.0.0.1
Analizando la salida detallada
Con la opción de verbosidad habilitada, notará una cantidad significativamente mayor de salida en comparación con el escaneo básico que realizó en el paso 1. A continuación, se muestra un ejemplo parcial de lo que puede ver:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-21 16:45 UTC
Initiating Ping Scan at 16:45
Scanning 127.0.0.1 [2 ports]
Completed Ping Scan at 16:45, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 16:45
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 3306/tcp on 127.0.0.1
Completed Connect Scan at 16:45, 0.03s elapsed (1000 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00016s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3306/tcp open mysql
Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
Diferencias clave en la salida detallada
Tenga en cuenta la siguiente información adicional que no estaba presente en el escaneo estándar:
- Fases de escaneo: La salida detallada muestra fases distintas como "Initiating Ping Scan" y "Initiating Connect Scan"
- Descubrimientos en tiempo real: Ve cada puerto abierto a medida que se descubre, no solo en el informe final
- Información de tiempo: Información más detallada sobre cuánto tiempo tomó cada fase
- Detalles técnicos: Información sobre cómo se realizó el escaneo
Varios niveles de verbosidad
Nmap admite varios niveles de verbosidad. Puede aumentar la verbosidad aún más utilizando múltiples opciones -v:
nmap -vv 127.0.0.1 ## Aún más detallado
nmap -vvv 127.0.0.1 ## Extremadamente detallado
Para la mayoría de las situaciones, un solo -v proporciona un buen equilibrio de información sin abrumarlo con detalles excesivos.
En los siguientes pasos, explorará opciones adicionales de Nmap que proporcionan aún más información sobre el proceso de escaneo.
Habilita la depuración con nmap -d 127.0.0.1
En este paso, aprenderá a habilitar el modo de depuración en Nmap utilizando la opción -d. Si bien la opción de verbosidad -v que utilizó en el paso anterior proporciona más detalles operativos, la depuración va aún más allá al exponer los funcionamientos internos de Nmap.
Comprendiendo la depuración en Nmap
La depuración es un nivel más avanzado de salida de información que la verbosidad. Mientras que la verbosidad se centra en proporcionar más detalles operativos sobre lo que está haciendo Nmap, la depuración revela:
- Algoritmos internos y procesos de toma de decisiones
- Información a nivel de paquete
- Detalles técnicos sobre cómo Nmap interactúa con el sistema
- Información de protocolo de bajo nivel
- Detalles de asignación de memoria y recursos
Cuando usar el modo de depuración
La salida de depuración es particularmente útil en estos escenarios:
- Solucionar problemas complejos de escaneo
- Comprender por qué Nmap se comporta de cierta manera
- Aprender sobre protocolos de red y técnicas de escaneo
- Desarrollar scripts o extensiones para Nmap
- Investigar comportamientos anormales de red
Ejecutando Nmap con depuración habilitada
Ejecutemos un escaneo de Nmap con depuración habilitada:
Asegúrese de que está en la ventana de terminal de los pasos anteriores.
Si es necesario, navegue de nuevo al directorio de proyecto predeterminado:
cd ~/project
- Ejecute el siguiente comando para realizar un escaneo con depuración habilitada de su localhost:
nmap -d 127.0.0.1
Analizando la salida de depuración
Después de ejecutar el comando, verá un aumento sustancial en la salida en comparación incluso con el modo detallado que utilizó en el paso anterior. La información de depuración es muy técnica e incluye detalles detallados sobre:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-21 17:30 UTC
--------------- Timing report ---------------
hostgroups: min 1, max 100000
rtt-timeouts: init 1000, min 100, max 10000
max-scan-delay: TCP 1000, UDP 1000, SCTP 1000
parallelism: min 0, max 0
max-retries: 10, host-timeout: 0
min-rate: 0, max-rate: 0
---------------------------------------------
NSOCK INFO [0.0100s] nsock_iod_new2(): nsock_iod_new (IOD #1)
NSOCK INFO [0.0100s] nsock_connect_tcp(): TCP connection requested to 127.0.0.1:80 (IOD #1) EID 8
NSOCK INFO [0.0100s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 8 [127.0.0.1:80]
NSOCK INFO [0.0100s] nsock_read(): Read request from IOD #1 [127.0.0.1:80] (timeout: -1ms) EID 18
NSOCK INFO [0.0100s] nsock_iod_delete(): nsock_iod_delete (IOD #1)
...
Componentes clave de la salida de depuración
La salida de depuración incluye varios componentes clave:
- Informes de tiempo: Información detallada sobre los parámetros de tiempo utilizados en el escaneo
- Información de NSOCK: Detalles sobre las operaciones de socket de red
- Datos de paquete crudo: Información sobre los paquetes que se envían y reciben
- Operaciones de memoria: Detalles sobre la asignación y el uso de memoria
- Información específica del protocolo: Detalles de bajo nivel sobre cómo Nmap interactúa con varios protocolos
Niveles de depuración en Nmap
Al igual que la verbosidad, Nmap admite varios niveles de depuración. Puede aumentar la detalle de depuración aún más utilizando:
nmap -dd 127.0.0.1 ## Depuración más detallada
nmap -ddd 127.0.0.1 ## Depuración extremadamente detallada
Para la mayoría de los escenarios de solución de problemas, un solo -d proporciona suficiente información sin abrumarlo con detalles técnicos excesivos.
Uso práctico de la información de depuración
La información de depuración puede parecer abrumadora al principio, pero algunos componentes específicos pueden ser extremadamente útiles:
- Los problemas de conexión de red a menudo aparecen en las secciones de NSOCK
- Los problemas de tiempo de escaneo se pueden diagnosticar utilizando los informes de tiempo
- Los problemas específicos del protocolo se pueden identificar en las secciones del protocolo
En el siguiente paso, aprenderá cómo combinar las opciones de verbosidad y depuración para obtener una vista aún más completa del proceso de escaneo.
Combina opciones con nmap -v -d 127.0.0.1
En este paso, aprenderá a combinar múltiples opciones de la línea de comandos de Nmap para obtener los beneficios de la verbosidad y la depuración en un solo escaneo. Este enfoque poderoso ofrece la vista más completa de lo que está sucediendo durante un escaneo de Nmap.
Combinando opciones de la línea de comandos en Nmap
Una de las grandes fortalezas de las herramientas de línea de comandos como Nmap es la capacidad de combinar diferentes opciones para personalizar el comportamiento y la salida del comando. En los pasos anteriores, ha utilizado:
-v(verbosidad) para obtener más detalles operativos-d(depuración) para ver información técnica interna
Estas opciones se pueden combinar en un solo comando para obtener los beneficios de ambas sin tener que ejecutar escaneos separados.
Beneficios de combinar opciones
Combinar la verbosidad y la depuración ofrece varios beneficios:
- Información completa: Obtiene detalles operativos de alto nivel y información técnica de bajo nivel
- Escaneo eficiente: En lugar de ejecutar múltiples escaneos, puede recopilar toda la información en una sola operación
- Salida correlacionada: La información se presenta en orden cronológico, lo que facilita la conexión de eventos
- Solución de problemas integral: Al resolver problemas de red, tener toda la información disponible a la vez puede acelerar la resolución del problema
Ejecutando Nmap con opciones combinadas
Ejecutemos un escaneo de Nmap con la verbosidad y la depuración habilitadas:
Asegúrese de que está en la ventana de terminal de los pasos anteriores.
Si es necesario, navegue de nuevo al directorio de proyecto predeterminado:
cd ~/project
- Ejecute el siguiente comando para realizar un escaneo con la verbosidad y la depuración habilitadas:
nmap -v -d 127.0.0.1
Analizando la salida combinada
Después de ejecutar el comando, verá una salida muy detallada que combina los beneficios de ambas opciones:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-21 18:15 UTC
--------------- Timing report ---------------
hostgroups: min 1, max 100000
rtt-timeouts: init 1000, min 100, max 10000
max-scan-delay: TCP 1000, UDP 1000, SCTP 1000
parallelism: min 0, max 0
max-retries: 10, host-timeout: 0
min-rate: 0, max-rate: 0
---------------------------------------------
Initiating Ping Scan at 18:15
Scanning 127.0.0.1 [2 ports]
NSOCK INFO [0.0100s] nsock_iod_new2(): nsock_iod_new (IOD #1)
NSOCK INFO [0.0100s] nsock_connect_tcp(): TCP connection requested to 127.0.0.1:80 (IOD #1) EID 8
NSOCK INFO [0.0100s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 8 [127.0.0.1:80]
Completed Ping Scan at 18:15, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 18:15
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
...
Comparando la salida combinada
Observe cómo la salida ahora incluye:
- Informes de tiempo: De la opción de depuración (
-d) - Información de fase de escaneo: De la opción de verbosidad (
-v) - Información de NSOCK: De la opción de depuración (
-d) - Información de descubrimiento de puertos: De la opción de verbosidad (
-v)
Esta salida combinada le da la vista más completa de lo que está haciendo Nmap, desde perspectivas de alto y bajo nivel.
Orden y formato alternativos
También puede especificar las opciones en un orden diferente o combinarlas en una sola bandera. Todos estos comandos son equivalentes:
nmap -v -d 127.0.0.1
nmap -d -v 127.0.0.1
nmap -vd 127.0.0.1
Elija el formato que encuentre más legible o conveniente de escribir.
Aumentando ambos niveles simultáneamente
También puede aumentar los niveles de verbosidad y depuración simultáneamente:
nmap -vv -dd 127.0.0.1
Esto proporcionaría información aún más detallada, aunque en la mayoría de los casos, un solo nivel de cada uno es suficiente.
Aplicaciones prácticas
Este enfoque combinado es particularmente útil para:
- Aprendizaje: Comprender tanto lo que está haciendo Nmap como cómo lo está haciendo
- Solución de problemas: Diagnosticar problemas complejos de escaneo con toda la información disponible
- Análisis de red: Obtener información detallada sobre cómo su red responde a diferentes tipos de escaneos
- Documentación: Crear registros exhaustivos del comportamiento de la red para su análisis o comparación
En el siguiente paso, aplicará lo que ha aprendido para escanear un objetivo diferente en su red.
Prueba la sintaxis en la red local con nmap -v 192.168.1.1
En este paso, ampliará sus conocimientos de escaneo de Nmap al dirigirse a un dispositivo en su red local en lugar de solo escanear el localhost. Esta es una progresión importante porque las herramientas de escaneo de red como Nmap están diseñadas principalmente para descubrir y analizar hosts remotos.
Comprendiendo el escaneo de la red local
Hasta ahora, ha estado escaneando la dirección de bucle hacia atrás 127.0.0.1, que se refiere a su propia máquina. Escanear su red local implica dirigirse a otros dispositivos conectados a la misma red que su computadora.
La dirección 192.168.1.1 se utiliza comúnmente como la dirección del gateway predeterminado (enrutador) en muchas redes domésticas y de oficinas pequeñas. Esto la convierte en un objetivo útil para la práctica ya que a menudo responde en las redes.
Direcciones de red vs. localhost
A continuación, se muestra cómo el escaneo de una dirección de red difiere del escaneo del localhost:
| Aspecto | Localhost (127.0.0.1) | Dirección de red (192.168.1.1) |
|---|---|---|
| Objetivo | Su propia máquina | Otro dispositivo en la red |
| Tráfico | Solo interno (sin paquetes de red) | Tráfico de red a través de su interfaz |
| Seguridad | Sin travesía de firewall/NAT | Puede implicar cruzar límites de red |
| Tiempo de respuesta | Muy rápido | Depende de las condiciones de red |
| Resultados | Más predecibles | Varía según la configuración del objetivo |
Ejecutando el escaneo de red
Vamos a utilizar lo que ha aprendido sobre la verbosidad para escanear una dirección de red común:
Asegúrese de que está en la ventana de terminal de los pasos anteriores.
Si es necesario, navegue de nuevo al directorio de proyecto predeterminado:
cd ~/project
- Ejecute el siguiente comando para escanear la dirección del gateway predeterminado común con la verbosidad habilitada:
nmap -v 192.168.1.1
Analizando la salida
Cuando ejecute este comando en el entorno de LabEx, es posible que vea una salida similar a esta:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-21 19:30 UTC
Initiating Ping Scan at 19:30
Scanning 192.168.1.1 [2 ports]
Completed Ping Scan at 19:30, 3.01s elapsed (1 total hosts)
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 3.12 seconds
Comprendiendo "Host parece estar apagado"
En el entorno de LabEx, que es un contenedor, es posible que vea un mensaje "Host parece estar apagado". Esto se debe a que:
- La red del contenedor está aislada de un entorno LAN típico
- La dirección IP 192.168.1.1 puede no existir en la red del contenedor
- El tráfico de red a direcciones externas puede estar filtrado
Este es un comportamiento normal y esperado en el entorno de laboratorio. En una red real donde existe 192.168.1.1, vería resultados diferentes.
Usando -Pn para omitir la detección de hosts
Cuando Nmap no puede determinar si un host está activo, puede usar la opción -Pn para omitir la fase de detección de hosts y continuar con el escaneo de puertos de todos modos:
nmap -v -Pn 192.168.1.1
Esto le dice a Nmap que asuma que el host está activo y que intente escanear sus puertos independientemente de las respuestas de ping.
Escaneando objetivos alternativos
En un entorno de contenedor, es posible que no pueda acceder a direcciones de red típicas. Aquí hay algunas alternativas que puede probar:
- Escanear un servidor DNS público (con precaución y solo con fines educativos):
nmap -v 8.8.8.8
- Escanear otra dirección de bucle hacia atrás:
nmap -v 127.0.0.2
Lo que ha aprendido
Incluso si el escaneo no alcanza un host real en este entorno de laboratorio, ha aprendido conceptos importantes:
- Cómo dirigir a Nmap para escanear direcciones de red más allá del localhost
- La diferencia entre escanear el localhost y los dispositivos de red
- Cómo interpretar resultados de escaneo comunes como "host parece estar apagado"
- Cómo usar la verbosidad con los escaneos de red
- La importancia del contexto de red al usar herramientas de escaneo
Estas habilidades forman la base para un escaneo de red más avanzado en entornos del mundo real donde tenga permiso para escanear.
Consideraciones éticas
Recuerde que en los escenarios del mundo real, solo debe escanear redes y dispositivos que posea o tenga permiso explícito para escanear. El escaneo no autorizado puede ser:
- En contra de los términos de servicio de su proveedor de red
- Potencialmente ilegal en algunas jurisdicciones
- Considerado sospechoso o hostil por los administradores de red
- Potencialmente disruptivo para las operaciones de red
Siempre practique un escaneo responsable.
Resumen
En este laboratorio, los participantes aprenden la sintaxis del comando Nmap. Comienzan abriendo una terminal en el entorno de escritorio Xfce y ejecutando un escaneo básico de Nmap en la máquina local utilizando el comando nmap 127.0.0.1. También aprenden sobre los usos comunes de Nmap, como el inventario de red, la búsqueda de puertos abiertos y la auditoría de seguridad. Además, exploran varias opciones, como mostrar ayuda con -h, aumentar la verbosidad con -v, habilitar la depuración con -d, combinar opciones y probar la sintaxis en una red local con nmap -v 192.168.1.1.



