# Nmap > `-sS` = TCP SYN · `-sU` = UDP · `-sV` = versión. Parte de Enumeración. ## Descubrimiento de hosts ```bash sudo nmap -sn 192.168.X.0/24 # ping sweep: quién está vivo sudo nmap -sn -PR 192.168.X.0/24 # ARP (LAN, el más fiable) sudo nmap -sn -PS21,22,25,80,445 IP/24 # TCP discovery si ICMP filtrado ``` ## Escaneo de puertos ```bash sudo nmap -sS 192.168.X.0/24 -oG full.txt # SYN top-1000, greppable sudo nmap -p- -Pn --min-rate 5000 -n --open IP # TODOS los 65535, solo abiertos → Puertos olvidados sudo nmap -sU --top-ports 50 -T4 IP # UDP (SNMP/TFTP/NTP) sudo nmap -sCV -p 22,80,445 IP # versión + scripts default → Nmap NSE sudo nmap -p80 --script vuln IP # NSE de vulnerabilidades ``` ## El combo de dos pasos (patrón real) ```bash nmap -p- -Pn --min-rate 5000 -n --open IP # 1) rápido: ¿qué puertos abren? nmap -sCV -p 22,80,445 IP # 2) dirigido: versión+scripts sobre esos ``` `-sCV` = `-sC` (scripts default) + `-sV` (versión). Luego `searchsploit` por versión → searchsploit. ## Salida - `-oN` normal (legible, los NSE salen aquí) · `-oG` greppable (1 línea/host, ideal `grep`) · `-oA` los 3. - Greppeo de resultados → Bucles bash sobre IPs. ## Trampas - El top-1000 **ya** incluye 80/443/22/445. Si `grep` no saca nada y el scan cubría el puerto → **la máquina no está viva**, no es el scan. - `filtered ≠ open` (firewall/sin respuesta). - `-Pn` en un /24 = ruido (256 hosts "up" falsos). `-Pn` es para **1 host concreto**. - Confusión clásica: **SNMP = UDP/161 (`-sU`)**, **SMTP = TCP/25 (`-sS`)**. Relacionado: Nmap NSE · searchsploit · Trampas de enumeración · SMB · OSCP MOC