
um substituto direto para o Nmap alimentado pelo shodan.io

O Smap é um scanner de portas passivo criado com a API gratuita do shodan.io. Ele aceita os mesmos argumentos de linha de comando do Nmap e produz a mesma saída, o que o torna um substituto direto para o Nmap.
Você pode baixar um binário pré-compilado aqui e usá-lo imediatamente.
go install -v github.com/s0md3v/smap/cmd/smap@latest
Confuso ou algo não está funcionando? Para instruções mais detalhadas, clique aqui
O Smap está disponível no AUR como smap-git (compilado a partir do código-fonte) e smap-bin (binário pré-compilado).
O Smap também está disponível no Homebrew.
brew update
brew install smap
O Smap aceita os mesmos argumentos do Nmap, mas opções diferentes de -p, -h, -V, -o*, -iL, --concurrency e --append-output são ignoradas no modo passivo. Use --nmap para passar opções do Nmap para um scan Nmap real após a descoberta passiva de portas. Se você não está familiarizado com o Nmap, veja como usar o Smap.
smap 127.0.0.1 127.0.0.2
Você também pode usar uma lista de alvos, separados por novas linhas.
smap -iL targets.txt
Formatos suportados
1.1.1.1 // IPv4 address
example.com // hostname
178.23.56.0/8 // CIDR
1.1.1.1-20 // IPv4 range
O Smap suporta 7 formatos de saída que podem ser usados com -o* da seguinte forma:
smap example.com -oX output.xml
Se você quiser imprimir a saída no terminal, use hífen (-) como nome do arquivo.
Formatos suportados
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: Como o Nmap não escaneia/exibe vulnerabilidades e tags, esses dados não estão disponíveis nos formatos do nmap. Use
-oSpara visualizar essas informações.
O Smap escaneia estas ~4000 portas por padrão. Se você quiser exibir resultados para determinadas portas, use a opção -p.
smap -p21-30,80,443 -iL targets.txt
Use --nmap para restringir um scan com o seu nmap local. O Smap primeiro coleta a união das portas reportadas pelo Shodan e depois executa o Nmap uma vez contra os alvos originais com esse intervalo de portas menor.
smap --nmap -Pn -sV --version-light 1.1.1.1
Exceto por --nmap e --concurrency, os argumentos fornecidos são passados para o Nmap. O Smap substitui o intervalo de portas pelos candidatos do Shodan; se você especificar -p, ele primeiro limita os candidatos a esse intervalo. O Nmap lida diretamente com o scan e a saída, então suas opções e formatos de saída se comportam normalmente. Operações somente de host, como -sL e -sn, são repassadas sem descoberta passiva de portas.
Os formatos de saída personalizados do Smap são recursos do modo passivo; com --nmap, as opções de saída têm seus significados normais do Nmap. Se o Shodan não reportar portas candidatas, o Nmap não é executado.
Isso pode economizar tempo se os dados passivos forem bons o suficiente para o seu caso de uso.
O Smap usa 3 workers por padrão para evitar atingir o Shodan de forma muito agressiva. Você pode alterar isso com --concurrency.
smap --concurrency 5 -iL targets.txt
Como o Smap simplesmente busca dados de portas existentes do shodan.io, ele é super rápido, mas há mais do que isso. Você deve usar o Smap se:
Nota: se você usar
--nmap, o Smap executaránmapcontra o alvo e fará conexões ativas. Como os dados do Shodan podem estar desatualizados ou incompletos, usá-lo como filtro de portas pode deixar de detectar portas abertas.