Volver a actualizaciones
Nuevo releaseAug 16, 2026

Smap v1.0.0-beta

un reemplazo directo para Nmap impulsado por shodan.io

Compartir

Logo de Smap

alternativa a nmap impulsada por shodan.io

Demostración de Smap

Smap es un escáner de puertos pasivo construido con la API gratuita de shodan.io. Acepta los mismos argumentos de línea de comandos que Nmap y produce la misma salida, lo que lo convierte en un sustituto directo de Nmap.

Características

  • Escanea 200 hosts por segundo
  • No requiere ninguna cuenta/clave de API
  • Detección de vulnerabilidades
  • Soporta los formatos de salida de nmap
  • Detección de servicios y versiones
  • No establece contacto con los objetivos en modo pasivo
  • Aceleración opcional de nmap usando los puertos reportados por Shodan

Instalación

Binarios

Puedes descargar un binario precompilado desde aquí y usarlo de inmediato.

Manual

go install -v github.com/s0md3v/smap/cmd/smap@latest

¿Confundido o algo no funciona? Para instrucciones más detalladas, haz clic aquí

Paquete AUR

Smap está disponible en AUR como smap-git (compilado desde el código fuente) y smap-bin (binario precompilado).

Homebrew/Mac

Smap también está disponible en Homebrew.

brew update
brew install smap

Uso

Smap acepta los mismos argumentos que Nmap, pero las opciones distintas de -p, -h, -V, -o*, -iL, --concurrency y --append-output se ignoran en modo pasivo. Usa --nmap para pasar opciones de Nmap a un escaneo real de Nmap después del descubrimiento pasivo de puertos. Si no estás familiarizado con Nmap, así es como se usa Smap.

Especificar objetivos

smap 127.0.0.1 127.0.0.2

También puedes usar una lista de objetivos, separados por saltos de línea.

smap -iL targets.txt

Formatos admitidos

1.1.1.1         // IPv4 address
example.com     // hostname
178.23.56.0/8   // CIDR
1.1.1.1-20      // IPv4 range

Salida

Smap soporta 7 formatos de salida que pueden usarse con -o* de la siguiente manera:

smap example.com -oX output.xml

Si quieres imprimir la salida en la terminal, usa un guion (-) como nombre de archivo.

Formatos admitidos

oX    // nmap's xml format
oG    // nmap's greppable format
oN    // nmap's default format
oA    // output in all 3 formats above at once
oP    // IP:PORT pairs separated by newlines
oS    // custom smap format
oJ    // json

Nota: Dado que Nmap no escanea/muestra vulnerabilidades ni etiquetas, esos datos no están disponibles en los formatos de nmap. Usa -oS para ver esa información.

Especificar puertos

Smap escanea estos ~4000 puertos por defecto. Si quieres mostrar resultados para ciertos puertos, usa la opción -p.

smap -p21-30,80,443 -iL targets.txt

Aceleración de Nmap

Usa --nmap para reducir un escaneo con tu nmap local. Smap primero recopila la unión de los puertos reportados por Shodan y luego ejecuta Nmap una vez contra los objetivos originales con ese rango de puertos más reducido.

smap --nmap -Pn -sV --version-light 1.1.1.1

Excepto por --nmap y --concurrency, los argumentos proporcionados se pasan a Nmap. Smap reemplaza el rango de puertos con los candidatos de Shodan; si especificas -p, primero limita los candidatos a ese rango. Nmap maneja el escaneo y la salida directamente, por lo que sus opciones y formatos de salida se comportan con normalidad. Las operaciones solo de host, como -sL y -sn, se pasan directamente sin descubrimiento pasivo de puertos.

Los formatos de salida personalizados de Smap son funciones del modo pasivo; con --nmap, las opciones de salida tienen sus significados normales de Nmap. Si Shodan no reporta puertos candidatos, Nmap no se ejecuta.

Esto puede ahorrar tiempo si los datos pasivos son suficientemente buenos para tu caso de uso.

Controlar la concurrencia

Smap usa 3 trabajadores por defecto para evitar golpear a Shodan de forma demasiado agresiva. Puedes cambiarlo con --concurrency.

smap --concurrency 5 -iL targets.txt

Consideraciones

Dado que Smap simplemente obtiene datos existentes de puertos de shodan.io, es súper rápido, pero hay más en ello. Deberías usar Smap si:

Quieres

  • detección de vulnerabilidades
  • un escáner de puertos súper rápido
  • que no se realicen conexiones con los objetivos

Te parece bien

  • no poder escanear direcciones IPv6
  • que los resultados tengan hasta 7 días de antigüedad
  • alguna detección de software poco fiable en modo pasivo

Nota: si usas --nmap, Smap ejecutará nmap contra el objetivo y realizará conexiones activas. Dado que los datos de Shodan pueden estar desactualizados o incompletos, usarlos como filtro de puertos puede omitir puertos abiertos.

Categorías