
un remplacement direct de Nmap propulsé par shodan.io

Smap est un scanneur de ports passif construit avec l'API gratuite de shodan.io. Il accepte les mêmes arguments en ligne de commande que Nmap et produit la même sortie, ce qui en fait un remplacement direct de Nmap.
Vous pouvez télécharger un binaire précompilé ici et l'utiliser immédiatement.
go install -v github.com/s0md3v/smap/cmd/smap@latest
Vous êtes perdu ou quelque chose ne fonctionne pas ? Pour des instructions plus détaillées, cliquez ici
Smap est disponible sur AUR sous la forme de smap-git (compilation depuis les sources) et smap-bin (binaire précompilé).
Smap est également disponible sur Homebrew.
brew update
brew install smap
Smap accepte les mêmes arguments que Nmap, mais les options autres que -p, -h, -V, -o*, -iL, --concurrency et --append-output sont ignorées en mode passif. Utilisez --nmap pour transmettre des options Nmap à un véritable scan Nmap après la découverte passive des ports. Si vous n'êtes pas familier avec Nmap, voici comment utiliser Smap.
smap 127.0.0.1 127.0.0.2
Vous pouvez également utiliser une liste de cibles, séparées par des sauts de ligne.
smap -iL targets.txt
Formats pris en charge
1.1.1.1 // IPv4 address
example.com // hostname
178.23.56.0/8 // CIDR
1.1.1.1-20 // IPv4 range
Smap prend en charge 7 formats de sortie utilisables avec -o* comme suit :
smap example.com -oX output.xml
Si vous souhaitez afficher la sortie dans le terminal, utilisez un trait d'union (-) comme nom de fichier.
Formats pris en charge
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
Note : étant donné que Nmap ne scanne/affiche pas les vulnérabilités et les tags, ces données ne sont pas disponibles dans les formats de nmap. Utilisez
-oSpour voir ces informations.
Par défaut, Smap scanne ces ~4000 ports. Si vous souhaitez afficher les résultats de certains ports, utilisez l'option -p.
smap -p21-30,80,443 -iL targets.txt
Utilisez --nmap pour réduire un scan avec votre nmap local. Smap collecte d'abord l'union des ports rapportés par Shodan, puis exécute Nmap une seule fois contre les cibles d'origine avec cette plage de ports réduite.
smap --nmap -Pn -sV --version-light 1.1.1.1
À l'exception de --nmap et --concurrency, les arguments fournis sont transmis à Nmap. Smap remplace la plage de ports par les candidats de Shodan ; si vous spécifiez -p, il limite d'abord les candidats à cette plage. Nmap gère directement le scan et la sortie, donc ses options et ses formats de sortie se comportent normalement. Les opérations réservées aux hôtes telles que -sL et -sn sont transmises sans découverte passive des ports.
Les formats de sortie personnalisés de Smap sont des fonctionnalités du mode passif ; avec --nmap, les options de sortie ont leur signification Nmap normale. Si Shodan ne rapporte aucun port candidat, Nmap n'est pas exécuté.
Cela peut faire gagner du temps si les données passives sont suffisantes pour votre cas d'utilisation.
Smap utilise par défaut 3 workers pour éviter de solliciter Shodan trop agressivement. Vous pouvez modifier cela avec --concurrency.
smap --concurrency 5 -iL targets.txt
Étant donné que Smap récupère simplement les données de ports existantes depuis shodan.io, il est extrêmement rapide, mais il y a plus à considérer. Vous devriez utiliser Smap si :
Note : si vous utilisez
--nmap, Smap exécuteranmapcontre la cible et établira des connexions actives. Comme les données de Shodan peuvent être obsolètes ou incomplètes, les utiliser comme filtre de ports peut manquer des ports ouverts.