A command-line tool to fetch data (open ports, CVEs, CPEs, ...) from Shodan internetDB API. Free to use and no API key required.
go install -v github.com/s4hm4d/shodanidb@latest
echo <ip> | shodanidb [options]
Options:
  -nc           Hide CPEs
  -nh           Hide hostnames
  -nt           Hide tags
  -nv           Hide vulnerabilities
  -nocolor      Disable color in output
  -json         Save output to JSON format
  -compare      Compare new results with a JSON file
  -url          Show only IP and Port
  -v            Verbose mode
  -c            Concurrency (default 5)
  -nmap         Run Nmap Service Detection
  -script       Run Nmap Scripts
  -aggregate    Enable Aggregate
# Simple Usage:
echo 149.202.182.140 | shodanidb
# CIDR Input:
echo 149.202.182.140/24 | shodanidb
# Use Filters (Hide CPEs, Hostnames and Tags):
echo 149.202.182.140 | shodanidb -nc -nh -nt
# Show Only IP and Ports:
echo 149.202.182.140/24 | shodanidb -url
# Save Output to a JSON File:
cat ips.txt | shodanidb -json output.json
# Show New Results by Comparing With The Old JSON File:
cat ips.txt | shodanidb -compare output.json
Before using this switch, you need save the output to a JSON file first:
echo 149.202.182.140 | shodanidb -json output.jsonThen you can get the new resutls by comparing with the JSON file:
echo 149.202.182.140 | shodanidb -compare output.jsonIt can be used with the other switches:
echo 149.202.182.140 | shodanidb -nmap -compare output.json
echo 149.202.182.140 | shodanidb -url -compare output.json
echo 149.202.182.140 | shodanidb -url -nmap -compare output.json
echo 149.202.182.140 | shodanidb -url -nmap -script -compare output.json
echo 149.202.182.140 | shodanidb -url -nmap -script -compare output.json -aggregateTo run this switch you need to have nmap installed.
It uses the nmap service detection with this command for every IP address:
nmap -sV -Pn IP -p PortsIt can be used with the other switches:
echo 149.202.182.140 | shodanidb -nmap
echo 149.202.182.140 | shodanidb -url -nmap
echo 149.202.182.140 | shodanidb -nmap -compare output.jsonAlso it can be used with -script switch. It's equals to -sC in the nmap and run the nmap scripts.
echo 149.202.182.140 | shodanidb -nmap -scriptThis switch show the results as the ip:port format.
echo 149.202.182.140 | shodanidb -url
echo 149.202.182.140 | shodanidb -url -compare output.jsonThe original tool is nrich. I wanted to learn Go and write this tool with Go for practice.
Also the idea for -url switch was gotten from sdlookup.