Smap is a passive port scanner that serves as a drop-in replacement for Nmap powered by Shodan's free API.
Smap solves the problem of slow active network scanning by leveraging Shodan's existing database of publicly indexed hosts and their open ports. Rather than sending packets to targets, it queries Shodan's API to retrieve port information passively, making no contact with the scanned hosts. The tool accepts the same command-line arguments as Nmap and produces identical output formats, allowing users to swap it in without changing their workflows. It can scan hundreds of hosts per second and includes vulnerability detection and service fingerprinting capabilities derived from Shodan's data.
Smap suits security researchers, penetration testers, and network administrators who prioritize speed and stealth over active probing, or who want to quickly enumerate publicly known ports before running targeted active scans. It works best when passive reconnaissance is sufficient for your objectives. The tool offers an optional acceleration mode via the `--nmap` flag, which uses Smap's passive results to narrow the port range for a subsequent active Nmap scan, potentially saving time by eliminating unnecessary port checks. Users should note that Smap's results depend entirely on what Shodan has indexed; it cannot discover ports or services that haven't been publicly reported.
The project shows consistent maintenance with regular updates addressing user-reported issues and feature requests. Development activity includes responsive handling of bug reports and pull requests, with fixes deployed promptly when problems are identified. The maintainer actively documents the tool's capabilities and limitations, providing clear guidance on when Smap is appropriate versus when traditional Nmap scanning is necessary.