The Search Engine That Indexes Machines, Not Websites
Google reads the text content of web pages and makes it searchable. Shodan does something fundamentally different: it connects to every routable IPv4 address on the internet, probes common ports, and records the raw responses that devices send back. Those responses — called banners — reveal what software is running, which version, and in many cases, whether a default password is still in place.
Launched in 2009 by John Matherly, Shodan has become the primary reconnaissance tool used by security researchers, penetration testers, and threat intelligence teams. It has also become a tool of concern because it puts the same reconnaissance capability in front of anyone with an account — including people with bad intentions.
Understanding how Shodan works, what it indexes, and how to use it defensively is now a baseline skill for any network engineer or security professional responsible for public-facing infrastructure.
How Shodan Works: Banner Grabbing at Internet Scale
Shodan operates a fleet of distributed crawlers that continuously sweep the entire IPv4 address space — all 4,294,967,296 addresses. For each address, the crawlers attempt to connect on a wide range of TCP and UDP ports: 80, 443, 21, 22, 23, 25, 3389, 8080, 5900, and many others depending on the scan profile.
When a service responds, the crawler captures the service banner — the initial data the service sends back before any authentication. This banner often contains:
- The software name and version (e.g.,
Apache/2.4.51,OpenSSH 8.2p1) - The operating system or firmware version
- SSL/TLS certificate details including the organization name and expiry date
- Device-specific strings like router model numbers, camera manufacturer names, or SCADA system identifiers
- Authentication prompts that reveal whether default credentials are still in use
Shodan stores these banners in a searchable index. The data is updated continuously — Shodan crawls the full internet roughly every few weeks and certain high-value ranges more frequently.
The underlying technique is not new. Network administrators have used banner grabbing with tools like netcat and nmap for decades. Shodan industrialized it and made the results queryable by anyone.
What Shodan Actually Finds
The scope of what Shodan indexes is wider than most people realize. A search on Shodan is not just a list of web servers. The index contains:
- Industrial control systems (ICS/SCADA): Modbus, DNP3, and BACnet devices controlling physical infrastructure — including systems that respond to control commands without authentication.
- IP cameras and NVRs: Thousands of network cameras with their live feeds accessible directly through a browser, often still using factory default passwords.
- Network devices: Routers, switches, and firewalls with their management interfaces exposed on the public internet.
- Medical devices: Hospital equipment including infusion pumps and medical imaging systems that were connected to networks reachable from the public internet.
- Database servers: MongoDB, Elasticsearch, Redis, and Memcached instances with no authentication configured, directly accessible.
- VoIP systems: SIP devices and PBX systems exposing their configuration interfaces.
- Smart devices: Home automation controllers, smart meters, building management systems.
The phrase "hacker's search engine" stuck because Shodan made finding misconfigured systems trivially easy. What previously required running your own scanner now takes a few seconds and a search query.
Shodan Search Filters and Query Syntax
Shodan's value comes from its filtering capabilities. Raw queries match against banner text, but filters narrow the results precisely:
country:US— limits results to IPs geo-located in the United Statescity:Berlin— narrows to a specific cityorg:"Amazon"— shows devices hosted on Amazon's ASNport:3389— filters to devices with RDP exposedproduct:nginx— shows servers running nginxversion:2.4.49— finds a specific vulnerable software versionssl.cert.subject.cn:example.com— finds TLS certificates issued to a domainhttp.title:"Login"— finds web interfaces showing a login pagedefault password— finds banners that literally advertise default credentials
Combining filters gets precise fast. The query port:22 country:DE product:OpenSSH version:7.4 returns SSH servers in Germany running a specific version with known vulnerabilities. This is the kind of query a penetration tester runs to find targets — and also what a defender runs to find their own exposure.
Shodan Monitor: Defensive Use
Shodan's commercial product, Shodan Monitor, allows organizations to register their IP ranges and receive alerts when new services are indexed. If a developer accidentally exposes a database port on a production server, Shodan Monitor detects it within hours and sends an alert.
This is the primary defensive use case: continuous passive monitoring of your attack surface through Shodan's own crawler, without running your own scans. It answers the question a security team should be asking constantly — what does our infrastructure look like from the outside?
Shodan vs Censys vs FOFA: Comparing Internet Scanners
| Feature | Shodan | Censys | FOFA |
|---|---|---|---|
| Coverage | IPv4 + IPv6, major ports | IPv4 + IPv6, deep TLS focus | IPv4 + IPv6, large global index |
| Update frequency | Continuous / days | Continuous / days | Continuous |
| TLS/Certificate data | Good | Excellent — primary differentiator | Good |
| API access | Yes (paid tiers) | Yes (free research tier) | Yes (paid tiers) |
| ICS/SCADA data | Extensive | Moderate | Moderate |
| Free tier | Limited search, 2 pages results | Limited search | Limited (Chinese interface primarily) |
| Primary user base | Security researchers, pentesters | Academic, certificate monitoring | Asia-Pacific focused |
| Alerting/Monitoring | Yes (Shodan Monitor) | Yes (Censys ASM) | Limited |
Common Misconceptions About Shodan
Misconception 1: Shodan is a hacking tool
Shodan does not attack anything. It only connects to services and reads their responses — the same thing a browser does when loading a website. The data it collects is what those services voluntarily broadcast to any connection attempt. Shodan's legality has been reviewed extensively; indexing public-facing service responses is not unauthorized access. The misconception comes from the fact that attackers use Shodan, not that Shodan itself is an attack tool.
Misconception 2: If your device is on Shodan, you've been hacked
Appearing in Shodan's index means your device's port is reachable from the internet and responded to a connection attempt. That is a data point about exposure, not a confirmation of compromise. An SSH server on port 22 will appear in Shodan's index. That is not a problem by itself — it becomes a problem if that SSH server has weak credentials or a known-vulnerable version.
Misconception 3: Blocking Shodan's crawlers protects you
Shodan publishes its crawler IP ranges. Some administrators add firewall rules to block those specific IPs. This is largely security theater — any actual attacker runs their own scanner from different IPs. Blocking Shodan only removes your visibility from Shodan's index; it does nothing to address the actual attack surface. The correct response to finding an exposed service in Shodan is to close the exposure, not block the scanner.
Misconception 4: Only large organizations get targeted based on Shodan data
Automated attack tools query Shodan's API to build target lists dynamically. Small businesses and home users with exposed services are targeted just as systematically as enterprises. Botnets use Shodan data to find Telnet-exposed routers and default-password cameras at scale. The size of the organization is irrelevant to automated scanning.
Pro Tips for Checking and Reducing Your Shodan Exposure
- Search for your own IP before attackers do. Go to shodan.io and search for your public IP address. Look at every port listed. If you see services you did not intentionally expose, close them immediately at the firewall level.
- Check your organization's IP ranges by ASN. Use the query
org:"Your Company Name"to see everything Shodan has indexed across your entire organization's address space. This is faster than scanning each IP individually. - Use Shodan's SSL certificate search to find shadow IT. The query
ssl.cert.subject.cn:yourdomain.comfinds every TLS certificate issued to your domain that is publicly accessible. This frequently reveals forgotten staging servers and test environments. - Never expose database ports to the internet. MongoDB, Redis, Elasticsearch — these are not designed to be public-facing. They should only be accessible within your private network. If Shodan shows port 27017 (MongoDB) or 9200 (Elasticsearch) on your IP, you have a critical misconfiguration.
- Check your IoT devices specifically. Home cameras, NAS devices, and smart home hubs frequently open ports on your router through UPnP without your knowledge. Run a Shodan check on your home IP to see what your router has exposed.
- Set up Shodan Monitor alerts for your IP ranges. Even with a basic paid subscription, continuous monitoring of your registered IP space is worth the cost. The alert comes from Shodan's crawler — no infrastructure required on your end.
Check what Shodan sees when it looks at your IP address right now.