# masscan: port scanning a escala de internet, usado con seguridad

> Cómo instalar y ejecutar masscan, por qué el rate limiting es un control de seguridad y no un botón de ajuste, y cómo Tandera lo combina con nmap.

`masscan` envía sus propios paquetes en lugar de usar la pila del SO, y por eso puede barrer un gran espacio de direcciones en minutos. Responde una pregunta — qué puertos están abiertos — y la responde rápido. No hace bien la detección de servicios; combínalo con `nmap` para eso.

## Instalación

```bash
sudo apt install masscan          # Debian / Ubuntu / Kali
brew install masscan              # macOS
```

Compilar desde el fuente te da una versión más nueva:

```bash
git clone https://github.com/robertdavidgraham/masscan && cd masscan && make -j
sudo make install
```

## Comandos principales

```bash
# un rango, puertos comunes, deliberadamente lento
sudo masscan 10.0.0.0/24 -p80,443,8080,8443 --rate 1000

# rango TCP completo
sudo masscan 10.0.0.0/24 -p0-65535 --rate 5000 -oJ masscan.json

# alimenta los resultados en nmap para detección de versión
sudo masscan 10.0.0.0/24 -p0-65535 --rate 1000 -oL - \
  | awk '/open/{print $4":"$3}' > open.txt

# excluye rangos que no estás autorizado a tocar
sudo masscan 10.0.0.0/8 -p443 --rate 2000 --excludefile out-of-scope.txt
```

## Salida

```json
{"ip":"10.0.0.14","timestamp":"1756468800","ports":[{"port":8443,"proto":"tcp","status":"open"}]}
```

## Dónde encaja en Tandera

masscan se ejecuta en **active_scan** solo en `recon_web_full`, después de que `cdncheck` haya quitado direcciones de CDN y de proveedor compartido del conjunto de objetivos. Su papel es amplitud — encontrar todo puerto abierto rápido — con `nmap` siguiendo para profundidad en lo que encuentra.

## Uso en un pentest

**`--rate` es un control de seguridad.** El valor por defecto es lo bastante rápido como para saturar un enlace y tumbar objetivos pequeños. Empieza en 1000 pps, ten el número acordado con el cliente por escrito, y regístralo en la sección de metodología.

**Usa siempre `--excludefile`.** Es el mecanismo que te mantiene dentro del engagement al escanear bloques CIDR. Constrúyelo a partir de tu documento de alcance antes del primer escaneo, no después de la primera queja.

**Reporta puertos abiertos, no servicios.** No escribas "puerto 8443 abierto" en un informe. Re-escanea los hits con `nmap -sV` y reporta el servicio y la versión.

---

Canonical: https://tandera.io/es/tools/masscan
This page as markdown: https://tandera.io/es/tools/masscan.md
Index for agents: https://tandera.io/llms.txt

Every page here is also available as markdown: append `.md` to the path (e.g. `/recon.md`, `/index.md` for this homepage, `/blog/<slug>.md`), or request the canonical path with `Accept: text/markdown`.
