In this article we will be taking a look at the most common reason to use the CLI: grabbing search results without visiting the website. There are 2 commands to help you do this: search
and download
. Both of them use search queries to grab results but in general we recommend to use download
over search
. And they both use up query credits.
For a list of available search filters please checkout our Filter Reference page.
Tip: Use
shodan download
andshodan parse
instead ofshodan search
to more effectively use your query credits.
Usage: shodan search [OPTIONS] <search query>
Search the Shodan database
Options:
--color / --no-color
--fields TEXT List of properties to show in the search results.
--limit INTEGER The number of search results that should be returned.
Maximum: 1000
--separator TEXT The separator between the properties of the search
results.
-h, --help Show this message and exit.
The search
command is intended to quickly grab a few results to make sure your search query is correct. It doesn't let you page over results and it doesn't store any data locally. As a result, you will generally want to use the download
command.
Remember that all of the below examples only show information about the 1st page of results. To download all of the results you need to use the download
command.
Search for nginx servers
$ shodan search nginx
Show a list of IPs and ports
$ shodan search --fields ip_str,port nginx
Show a comma-separated list of IPs and ports
$ shodan search --fields ip_str,port --separator , nginx
Usage: shodan download [OPTIONS] <filename> <search query>
Download search results and save them in a compressed JSON file.
Options:
--limit INTEGER The number of results you want to download. -1 to download
all the data possible.
-h, --help Show this message and exit.
The download
command will perform the search and store the results in a local data file which you can then feed into other tools (including shodan parse
). It pages through the search results until the --limit
number of results has been reached.
Important: The first argument to shodan download
is the file name - not the search query.
Download the most recent 200 results for nginx
$ shodan download --limit 200 myresults.json.gz nginx
Download the most recent 500 results for services in San Diego
$ shodan download --limit 500 myresults.json.gz 'city:"San Diego"'
Download all the websites that are using Vue.js
$ shodan download --limit -1 myresults.json.gz http.component:vue.js
Next: Statistics