
un reemplazo directo para Nmap impulsado por shodan.io

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.
Puedes descargar un binario precompilado desde aquí y usarlo de inmediato.
go install -v github.com/s0md3v/smap/cmd/smap@latest
¿Confundido o algo no funciona? Para instrucciones más detalladas, haz clic aquí
Smap está disponible en AUR como smap-git (compilado desde el código fuente) y smap-bin (binario precompilado).
Smap también está disponible en Homebrew.
brew update
brew install smap
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.
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
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
-oSpara ver esa información.
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
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.
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
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:
Nota: si usas
--nmap, Smap ejecutaránmapcontra 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.