# ⚡ Nmap

### 🔍 ¿Qué es Nmap?

**Nmap (Network Mapper)** es una herramienta de código abierto ampliamente utilizada para realizar **escaneos de red y auditorías de seguridad**. Fue diseñada para detectar hosts activos, puertos abiertos, servicios, versiones de software y sistemas operativos en redes locales o remotas.

Es una herramienta imprescindible para pentesters, administradores de red y especialistas en ciberseguridad, ya que permite recopilar información detallada de una red objetivo de forma rápida y flexible.

***

### 🧠 ¿Para qué se utiliza?

Nmap permite realizar tareas como:

* **Descubrimiento de hosts vivos**.
* **Detección de puertos abiertos** (TCP/UDP).
* **Identificación de servicios** y sus versiones.
* **Reconocimiento del sistema operativo**.
* **Detección de firewalls o filtros**.
* **Automatización de escaneos con scripts (NSE)**.

***

### ⚙️ Sintaxis básica

```bash
nmap [opciones] <objetivo>
```

Ejemplo básico:

```bash
nmap 192.168.1.1
```

***

### 🧰 Opciones más comunes

| Opción              | Descripción                                                   |
| ------------------- | ------------------------------------------------------------- |
| `-sS`               | Escaneo TCP SYN (rápido y sigiloso)                           |
| `-sV`               | Detección de versiones de servicios                           |
| `-O`                | Detección del sistema operativo                               |
| `-Pn`               | Ignora el ping (asume que el host está activo)                |
| `-T0 - T5`          | Timing (0 = sigiloso, 5 = muy rápido)                         |
| `-p <puertos>`      | Especificar puertos (ej. `-p 80,443,22`)                      |
| `-oN`, `-oX`, `-oG` | Salidas en distintos formatos (normal, XML, greppable)        |
| `-A`                | Escaneo agresivo (incluye OS, versiones, traceroute, scripts) |
| `--script`          | Usa los scripts de NSE (ver más abajo)                        |

***

### 🔌 Detección de servicios y versiones

```bash
nmap -sV 192.168.1.10
```

Detecta qué servicios están corriendo en los puertos abiertos y qué versión exacta tienen (ideal para encontrar vulnerabilidades conocidas).

***

### 🧠 Sistema operativo

```bash
nmap -O 192.168.1.10
```

Nmap analiza los paquetes para identificar el sistema operativo del host.

***

### 📜 NSE (Nmap Scripting Engine)

Nmap incluye un poderoso motor de scripts que permite realizar tareas más avanzadas, como:

* Enumeración de usuarios.
* Detección de vulnerabilidades conocidas.
* Pruebas de autenticación débil.
* Escaneo de malware o backdoors.

Ejemplo:

```bash
nmap --script "vuln" 192.168.1.10
```

Esto ejecuta los scripts de detección de vulnerabilidades en el host objetivo.

<figure><img src="https://2635113826-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5daWhBxoDFtT9Z7bT21e%2Fuploads%2FsHiNaDbDqOCbog284bsH%2Fimage.png?alt=media&#x26;token=4ee2058f-4f22-4e36-be54-0dca59983bd9" alt=""><figcaption></figcaption></figure>

***

### 📁 Guardar resultados

```bash
nmap -oN resultado.txt 192.168.1.10
```

Guarda el escaneo en formato legible para incluirlo luego en reportes.

***

### 🚨 Consideraciones

* **No usar sin autorización**. Puede ser detectado como actividad hostil.
* **Configura los tiempos y agresividad con cuidado** para no afectar la red objetivo.
* **Combínalo con otras herramientas** como `Amass`, `Gobuster`, `Nikto`, etc., para una fase de reconocimiento más completa.

***

### 🧩 Ejemplo completo

```bash
nmap -sS -sV -O -Pn -T3 -p 1-1000 -oN escaneo.txt 192.168.1.10
```

Este comando escanea los primeros 1000 puertos, detecta versiones, SO, ignora el ping y guarda los resultados.
