<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[John Matherly - Shodan Blog]]></title><description><![CDATA[The latest news and developments for Shodan.]]></description><link>https://blog.shodan.io/</link><generator>Ghost 0.7</generator><lastBuildDate>Sat, 04 Apr 2026 05:12:58 GMT</lastBuildDate><atom:link href="https://blog.shodan.io/author/john/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[5 Free Things for Everybody]]></title><description><![CDATA[<p>Here are some of the free services that Shodan provides that don't require any payment, don't require a Shodan account and don't require an API key:</p>

<h4 id="1vulnerabilityinformation">1. Vulnerability Information</h4>

<p><a href="https://cvedb.shodan.io">https://cvedb.shodan.io</a></p>

<p>The CVEDB website lets you explore known vulnerabilities and provides a free API to quickly get vulnerability</p>]]></description><link>https://blog.shodan.io/5-free-things-for-everybody/</link><guid isPermaLink="false">7c5cb1f0-2046-4654-8646-889fad261836</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Wed, 07 Aug 2024 20:11:36 GMT</pubDate><content:encoded><![CDATA[<p>Here are some of the free services that Shodan provides that don't require any payment, don't require a Shodan account and don't require an API key:</p>

<h4 id="1vulnerabilityinformation">1. Vulnerability Information</h4>

<p><a href="https://cvedb.shodan.io">https://cvedb.shodan.io</a></p>

<p>The CVEDB website lets you explore known vulnerabilities and provides a free API to quickly get vulnerability information. The API returns all the usual information (CVSS, references, summary) as well as the EPSS score and whether it's in the CISA KEV (Known Exploited Vulnerabilities) catalog.</p>

<p>Here's a sample JSON response with some fields truncated:</p>

<pre><code class="language-json">{
    cve_id: "CVE-2019-1653",
    summary: "A vulnerability in the web-based management interface of...",
    cvss: 7.5,
    cvss_version: 3,
    cvss_v2: 5,
    cvss_v3: 7.5,
    epss: 0.97564,
    ranking_epss: 1,
    kev: true,
    propose_action: "Cisco Small Business RV320 and RV325 Dual Gigabit WAN ...",
    ransomware_campaign: "Unknown",
    references: [
        "http://packetstormsecurity.com/files/152260/Cisco-RV320-Unauthenticated-Configuration-Export.html",
        "http://packetstormsecurity.com/files/152261/Cisco-RV320-Unauthenticated-Diagnosti..."
    ],
    published_time: "2019-01-24T16:29:00",
    cpes: [
    "cpe:2.3:o:cisco:rv320_firmware:1.4.2.15",
        "cpe:2.3:o:cisco:rv320_firmware:1.4.2.17",
        "cpe:2.3:o:cisco:rv325_firmware:1.4.2.15",
        "cpe:2.3:o:cisco:rv325_firmware:1.4.2.17"
    ]
}
</code></pre>

<h4 id="2ipenrichmenttoseeopenports">2. IP Enrichment to see Open Ports</h4>

<p><a href="https://internetdb.shodan.io">https://internetdb.shodan.io</a></p>

<p>The InternetDB API lets you do basic IP enrichment for free. It returns information about open ports, tags, hostnames, cpes and potential vulnerabilities. We also offer a companion tool called <a href="https://gitlab.com/shodan-public/nrich">nrich</a> that uses the InternetDB to let you enrich IPs within a file:</p>

<p><img src="https://gitlab.com/shodan-public/nrich/-/raw/master/output-sample.png" alt="Sample Output"></p>

<p>Here's a sample JSON response from the API:</p>

<pre><code class="language-json">{
    "ip": "51.83.59.99",
    "ports": [
        22,
        80,
        443,
        500
    ],
    "cpes": [
        "cpe:/a:f5:nginx",
        "cpe:/a:openbsd:openssh:7.4"
    ],
    "hostnames": [
        "www.sampleresponse.fr"
    ],
    "tags": [
        "vpn"
    ],
    "vulns": [
        "CVE-2017-15906"
    ]
}
</code></pre>

<h4 id="3geographicnetworktools">3. Geographic Network Tools</h4>

<p><a href="https://geonet.shodan.io">https://geonet.shodan.io</a></p>

<p>Geonet lets you ping an IP or do DNS lookups from multiple places around the world. It's helpful to find all IPs for websites that do geographic loadbalancing or check for potential connectivity issues depending on location.</p>

<p><img src="https://blog.shodan.io/content/images/2024/08/geonet.png" alt=""></p>

<p>We provide the <code>geoping</code> and <code>geodns</code> tools that make it easy to use Geonet without having to write any code.</p>

<p>Here's a sample JSON response for a ping request to "twitter.com":</p>

<pre><code class="language-json">{
    ip: "104.244.42.1",
    is_alive: true,
    min_rtt: 38.108,
    avg_rtt: 38.514,
    max_rtt: 38.961,
    rtts: [
        38.96141052246094,
        38.47217559814453,
        38.107872009277344
    ],
    packets_sent: 3,
    packets_received: 3,
    packet_loss: 0,
    from_loc: {
        city: "Santa Clara",
        country: "US",
        latlon: "37.3924,-121.9623"
    }
}
</code></pre>

<h4 id="4informationaboutpubliccompanies">4. Information about Public Companies</h4>

<p><a href="https://entitydb.shodan.io">https://entitydb.shodan.io</a></p>

<p>The EntityDB website and API lets you browse financial information for public companies based on SEC filings. We also associate them with known domains and hostnames which can be used to tie the company to IP/ DNS data.</p>

<p><img src="https://blog.shodan.io/content/images/2024/08/entitydb.png" alt=""></p>

<h4 id="5browserplugins">5. Browser Plugins</h4>

<p>Firefox: <a href="https://addons.mozilla.org/en-US/firefox/addon/shodan-addon/">https://addons.mozilla.org/en-US/firefox/addon/shodan-addon/</a></p>

<p>Chrome: <a href="https://chromewebstore.google.com/detail/shodan/jjalcfnidlmpjhdfepjhjbhnhkbgleap">https://chromewebstore.google.com/detail/shodan/jjalcfnidlmpjhdfepjhjbhnhkbgleap</a></p>

<p>The browser plugins for Chrome and Firefox automatically lookup the open ports for the website you're visiting using the InternetDB API. You can click through to see the full information that Shodan has for the IP or learn more about the known subdomains (ex. <a href="https://www.shodan.io/domain/mozilla.org">mozilla.org</a>).</p>

<p><img src="https://blog.shodan.io/content/images/2024/08/mozilla.png" alt=""></p>

<h4 id="bonussh_d_n">Bonus: Sh_d_n</h4>

<p><a href="https://shdn.io">https://shdn.io</a></p>

<p>Sh_d_n is a free, lightweight website for IP and domain enrichment. It's optimized for performance and size to focus on just doing one thing: fast lookups for specific resources (IPs and domains). The website is powered by <a href="https://www.rust-lang.org/">Rust</a>, <a href="https://github.com/tokio-rs/axum">Axum</a> and the <a href="https://www.sqlite.org/index.html">SQLite</a> datasets provided by <a href="https://enterprise.shodan.io/">Shodan Enterprise</a>. We're excited to have reduced the size for most of the pages on this website to <strong>less than 10kb</strong>, including the CSS stylesheet. If you have the stylesheet cached on the browser then most pages are less than 1 kb!</p>

<h5 id="waitingforthemembershipsale">Waiting for the Membership Sale?</h5>

<p>Every year we also run a special lifetime Membership promotion where we offer it for $5. If you're on a tight budget or are looking to get started with Shodan then you can wait until that sale happens. Follow us on Mastodon to get notified when the Membership sale goes live:</p>

<p><a href="https://mastodon.shodan.io">https://mastodon.shodan.io</a></p>]]></content:encoded></item><item><title><![CDATA[Deep Dive: Malware Hunter]]></title><description><![CDATA[<p>There are many ways to track command &amp; control servers from bad guys but they often rely on looking for indicators in the service metadata (ex. certificate information). Around a decade ago we developed a novel technique to proactively find the infrastructure: <a href="https://malware-hunter.shodan.io/">Malware Hunter</a>. Malware Hunter finds command &amp; control</p>]]></description><link>https://blog.shodan.io/deep-dive-malware-hunter/</link><guid isPermaLink="false">2554b23a-2f03-4f81-8625-1922eb0c1c2d</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Sun, 14 Jan 2024 18:28:29 GMT</pubDate><media:content url="http://blog.shodan.io/content/images/2024/01/image.png" medium="image"/><content:encoded><![CDATA[<img src="http://blog.shodan.io/content/images/2024/01/image.png" alt="Deep Dive: Malware Hunter"><p>There are many ways to track command &amp; control servers from bad guys but they often rely on looking for indicators in the service metadata (ex. certificate information). Around a decade ago we developed a novel technique to proactively find the infrastructure: <a href="https://malware-hunter.shodan.io/">Malware Hunter</a>. Malware Hunter finds command &amp; control (C2) servers by pretending to be an infected Windows XP computer and sending the C2 handshake to every IP on the Internet. In other words, it tells every IP on the Internet that it's just been infected and is ready to join the botnet that the IP is managing. If the IP welcomes Malware Hunter as a new bot then we know that the IP is actually running a C2 and we add a <code>malware</code> <a href="https://datapedia.shodan.io/#Tag">tag</a> to the banner. One of the interesting differences with this type of approach is that we're often able to identify C2s on residential networks before they go into "production" because we're proactively finding them on the Internet. Note that Malware Hunter doesn't send any malicious requests as it's pretending to be infected - all of its activity is benign.</p>

<p>The information is accessible for free to everybody with a Shodan account. Here is a breakdown of the <a href="https://www.shodan.io/search/facet?query=tag%3Amalware&amp;facet=product">protocols</a> that Malware Hunter currently identifies:</p>

<p><img src="https://blog.shodan.io/content/images/2024/01/facet.png" alt="Deep Dive: Malware Hunter"></p>

<p>You can use the API or CLI to get a list of the IPs:</p>

<pre><code class="language-shell">shodan stats --facets ip:1000 tag:malware | sed -e '1d' -e 's/ .*//' | sort  
</code></pre>

<h4 id="helpwanted">Help Wanted</h4>

<p>Is there a new C2 protocol or malware family that you would like Shodan to track? Please <a href="mailto:support@shodan.io">send us</a> an email with any of the following:</p>

<ul>
<li><strong>Traffic data</strong>: a PCAP or technical documentation that tells us how the callback to the C2 looks like.</li>
<li><strong>Code</strong>: if there is already code available for interacting with the C2 then that is immensely helpful.</li>
<li><strong>Research</strong>: blog posts, articles or any technical documentation that describes the C2 protocol.</li>
</ul>

<p>Many of the current identifications are based on help we've received from users or threat intelligence companies over the years and we're always looking to expand the active tracking of C2s.</p>]]></content:encoded></item><item><title><![CDATA[Deep Dive: http.favicon]]></title><description><![CDATA[<p><a href="https://en.wikipedia.org/wiki/Favicon">Favicons</a> are the small icons that you see in the browser tab next to the website title or in your bookmarks. For example, the Shodan logo on the left side of the browser tab is the favicon:</p>

<p><img src="https://blog.shodan.io/content/images/2024/01/Screenshot-from-2024-01-01-11-13-24.png" alt=""></p>

<p>They typically contain the logo of the company which gives them 2 functions:</p>]]></description><link>https://blog.shodan.io/deep-dive-http-favicon/</link><guid isPermaLink="false">697a038d-1f7f-4655-bdef-4bc52eec3687</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Wed, 10 Jan 2024 00:08:16 GMT</pubDate><content:encoded><![CDATA[<p><a href="https://en.wikipedia.org/wiki/Favicon">Favicons</a> are the small icons that you see in the browser tab next to the website title or in your bookmarks. For example, the Shodan logo on the left side of the browser tab is the favicon:</p>

<p><img src="https://blog.shodan.io/content/images/2024/01/Screenshot-from-2024-01-01-11-13-24.png" alt=""></p>

<p>They typically contain the logo of the company which gives them 2 functions:</p>

<ul>
<li>An easy way to find the tab of a website when you have multiple open tabs.</li>
<li>A sense of authenticity that the website you're visiting belongs to the right company.</li>
</ul>

<p>Shodan <a href="https://datapedia.shodan.io/property/http.html#HttpFavicon">collects</a> the favicons for websites and stores the information in the <code>http.favicon</code> property:</p>

<pre><code class="language-json">{
        "data": "AAABAAIAEBAAAAAAIABoBAAAJgAAACAgAAAAACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAA\nAEAEAAAAAAAAAAAAAAAAAAAAAAAA////Af///wH///8B////Af///wH///8B////ASWX/RUne/MX\n////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////ASan/EEn\nbvThJm/05yai/EP///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BJqP8Ayaj\n/I0mi/v5J1Tt/SdT7Psmi/z5JqL8j////wH///8B////Af///wH///8B////...",
        "hash": 516963061,
        "location": "https://about.gitlab.com:443/ico/favicon.ico"
}
</code></pre>

<ul>
<li><p><code>data</code> contains the image as a base64-encoded string.</p></li>
<li><p><code>hash</code> is the MurmurHash3 of the <code>data</code> property. The Shodan API has a search filter called <code>http.favicon.hash</code> to search based on this value.</p></li>
<li><p><code>location</code> lets you know where the favicon was found. Historically, the <code>favicon.ico</code> file was located at the root of the web server but it can be put in any arbitrary location by referencing it in the HTML. For example:</p>

<p><code>html
&lt;link rel="icon" type="image/png" href="/assets/favicon-yellow-018213ceb87b472388095d0264be5b4319ef47471dacea03c83ecc233ced2fd5.png" /&gt;
</code></p></li>
</ul>

<p>At Shodan, we developed the technique of hashing the favicon to make it possible to search across the Internet for identical favicon images. We developed it nearly a decade ago to help with 2 use cases:</p>

<ul>
<li><strong>Identify Phishing Websites</strong>: bad actors will commonly use the same favicon as the website they're imitating. By searching for the favicon of a company you can identify potential phishing websites.</li>
<li><strong>Origin IP Disclosure</strong>: websites that are hosted behind a CDN (ex. Cloudflare) should restrict access to their web server to only accept connections from the CDN. By searching for the favicon of a website you can confirm that a website has been correctly configured and isn't responding to requests from its origin IP.</li>
</ul>

<p>The favicon hash is calculated by applying the MurmurHash3 algorithm to the <code>http.favicon.data</code> property on the banner.</p>

<blockquote>
  <p><strong>Why MMH3?</strong> The key considerations when we developed the technique were speed of the hashing algorithm and size of the resulting hash. We didn't need the cryptographic guarantees of MD5/ etc.</p>
</blockquote>

<h3 id="favscan">favscan</h3>

<p>We provide a simple tool  called <code>favscan</code> that calculates the favicon hash given a URL, hostname or local file path.</p>

<pre><code>$ favscan -h
Calculate the favicon hash of a local file, hostname or URL

Usage: favscan [OPTIONS] &lt;LOCATION&gt;

Arguments:  
  &lt;LOCATION&gt;  

Options:  
  -v, --verbose  
  -h, --help     Print help
  -V, --version  Print version
</code></pre>

<p><code>favscan</code> will first look for the favicon in the common <code>/favicon.ico</code> path and if that fails it will check the frontpage for a <code>shortcut icon</code> link. The tool is available for download across many platforms:</p>

<ul>
<li><a href="https://updates-static.shodan.io/tools/favscan/favscan-linux-x86_64">Linux</a></li>
<li><a href="https://updates-static.shodan.io/tools/favscan/favscan-windows-x86_64.exe">Windows</a></li>
<li><a href="https://updates-static.shodan.io/tools/favscan/favscan_0.2_x86_64.deb">DEB package</a></li>
<li><a href="https://updates-static.shodan.io/tools/favscan/favscan_0.2_x86_64.rpm">RPM package</a></li>
<li><a href="https://updates-static.shodan.io/tools/favscan/favscan-darwin-arm64">Mac (arm64)</a></li>
</ul>

<p>For example, to get the favicon hash for <code>google.com</code> you would run:</p>

<pre><code>favscan google.com  
</code></pre>

<p>You can also specify ports as part of the URL:</p>

<pre><code>favscan https://test.shodan.io:6993  
</code></pre>

<p>Or calculate it for a local file:</p>

<pre><code>favscan favicon.ico  
</code></pre>

<h3 id="example">Example</h3>

<p>Lets say we want to find public instances of Gitlab using favicons. We start off by grabbing the favicon hash of a known Gitlab instance:</p>

<pre><code class="language-shell">$ favscan gitlab.com
1265477436  
</code></pre>

<p>We then take that hash and use it in a search query of:</p>

<pre><code>http.favicon.hash:1265477436  
</code></pre>

<p>The search query can be used on the website, CLI or API. For now, lets just see how many instances there are based on the favicon:</p>

<pre><code class="language-shell">$ shodan count http.favicon.hash:1265477436
29558  
</code></pre>

<p>And this is what it looks like on the website:</p>

<p><a href="https://www.shodan.io/search/report?query=http.favicon.hash%3A1265477436">https://www.shodan.io/search/report?query=http.favicon.hash%3A1265477436</a></p>

<blockquote>
  <p>Note: Shodan already fingerprints Gitlab services so you can search for <code>product:gitlab</code> instead of using favicons.</p>
</blockquote>

<h3 id="references">References</h3>

<ul>
<li>Wikipedia article on the favicon: <a href="https://en.wikipedia.org/wiki/Favicon">https://en.wikipedia.org/wiki/Favicon</a></li>
<li>Map of Favicons on the Internet: <a href="https://faviconmap.shodan.io">https://faviconmap.shodan.io</a></li>
<li>Datapedia entry for <code>http.favicon</code>: <a href="https://datapedia.shodan.io/property/http.html#HttpFavicon">https://datapedia.shodan.io/property/http.html#HttpFavicon</a></li>
</ul>]]></content:encoded></item><item><title><![CDATA[Changelog: www.shodan.io]]></title><description><![CDATA[<p>A few notable usability improvements to the IP information page:</p>

<h3 id="webtechnologies">Web Technologies</h3>

<p><img src="https://blog.shodan.io/content/images/2023/08/ui-webtech.png" alt=""></p>

<p>Web technologies are now grouped by categories and we show version information (if available). The information was always grouped in the underlying JSON and we now also show it that way on the website. Learn more about the</p>]]></description><link>https://blog.shodan.io/changelog-www-shodan-io/</link><guid isPermaLink="false">f47503f3-e941-4f93-9f38-1f85d06732af</guid><category><![CDATA[changelog]]></category><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Wed, 30 Aug 2023 18:45:56 GMT</pubDate><content:encoded><![CDATA[<p>A few notable usability improvements to the IP information page:</p>

<h3 id="webtechnologies">Web Technologies</h3>

<p><img src="https://blog.shodan.io/content/images/2023/08/ui-webtech.png" alt=""></p>

<p>Web technologies are now grouped by categories and we show version information (if available). The information was always grouped in the underlying JSON and we now also show it that way on the website. Learn more about the <a href="https://datapedia.shodan.io/property/http.html"><code>http</code> property</a></p>

<h3 id="hostnames">Hostnames</h3>

<p><img src="https://blog.shodan.io/content/images/2023/08/ui-hostnames-1.png" alt=""></p>

<p>They're now sorted and the top-level domain is highlighted. This should make it easier to read the different subdomains that an IP is responsible for. Note that for forward DNS information you would want to use the DNSDB - the IP information page relies on reverse DNS or certificate information for the hostnames property.</p>

<h3 id="cvss">CVSS</h3>

<p><img src="https://blog.shodan.io/content/images/2023/08/ui-vulns.png" alt=""></p>

<p>The list of vulnerabilities is now sorted and shows the CVSS score with a color code that ranges from black (low score) to red (high score). Learn more about the <a href="https://help.shodan.io/mastery/vulnerability-assessment"><code>vulns</code> property</a>.</p>

<h3 id="iconsintherawdata">Icons in the Raw Data</h3>

<p><img src="https://blog.shodan.io/content/images/2023/08/ui-raw.png" alt=""></p>

<p>The raw data page lets you browse the JSON as it's returned by the API and we now show icons to make navigating it easier:</p>

<ul>
<li>If the service has SSL/ TLS information then there is a <strong>lock</strong> icon. This includes services that allow STARTTLS to upgrade a connection to TLS.</li>
<li>If it's a web service then we add a <strong>globe</strong> icon and a red arrow to open the website in a new browser tab.</li>
</ul>

<p>To learn more about the data that is available on the banners check out the <a href="https://datapedia.shodan.io">Datapedia</a>.</p>]]></content:encoded></item><item><title><![CDATA[Developer Access to Shodan Trends]]></title><description><![CDATA[<p>As a quick recap, <a href="https://trends.shodan.io">Shodan Trends</a> is a website that lets you see how the Internet has changed over time. For example, you can use it to see how exposed industrial control systems have been over the years:</p>

<p><img src="https://blog.shodan.io/content/images/2023/08/trends-ics.png" alt=""></p>

<p>Up until now, the only option to download the information was to</p>]]></description><link>https://blog.shodan.io/developer-access-to-shodan-trends/</link><guid isPermaLink="false">12583a71-62fb-460c-ad6a-5fef9e293b75</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Mon, 21 Aug 2023 02:22:04 GMT</pubDate><content:encoded><![CDATA[<p>As a quick recap, <a href="https://trends.shodan.io">Shodan Trends</a> is a website that lets you see how the Internet has changed over time. For example, you can use it to see how exposed industrial control systems have been over the years:</p>

<p><img src="https://blog.shodan.io/content/images/2023/08/trends-ics.png" alt=""></p>

<p>Up until now, the only option to download the information was to click on the <code>Export</code> button in the table:</p>

<p><img src="https://blog.shodan.io/content/images/2023/08/trends-export.png" alt=""></p>

<p>We're happy to announce that Shodan Trends now has a developer API that you can access with your Shodan API key. The API is documented in a Postman collection which you can check out here:</p>

<p><a href="https://www.postman.com/shodanhq/workspace/shodan/documentation/27930959-002d7e02-f109-4e83-9a3e-74d2d7996687">https://www.postman.com/shodanhq/workspace/shodan/documentation/27930959-002d7e02-f109-4e83-9a3e-74d2d7996687</a></p>

<p>The <a href="https://github.com/achillean/shodan-python">Shodan CLI</a> has also been updated with a new <code>shodan trends</code> command so you can take advantage of the API without having to write any code. For example, the following command shows the total number of industrial control systems over time:</p>

<pre><code class="language-bash">shodan trends tag:ics  
</code></pre>

<p>The optional <code>facet</code> lets you get a breakdown over time for a specific property. For example, a breakdown of the top countries that have exposed industrial control systems:</p>

<pre><code class="language-bash">shodan trends --facets country tag:ics  
</code></pre>

<p>By default, the API will return the top 5 values for the property. However, you can tell the API to return more than 5. For example, the following gives a breakdown of the top 20 ports that have been seen on the <code>198.20.69.0/24</code> network over the past few years:</p>

<pre><code class="language-bash">shodan trends --facets port:20 net:198.20.69.0/24  
</code></pre>

<p>The results can be saved to a file using the <code>-S</code> option (or <code>-O &lt;filename&gt;</code>) which will generate a gzip-compressed JSON file where each line contains a JSON object representing 1 month of information. For example, the following is the JSON object for July 2023 for the command <code>shodan trends --facets country:10 tag:ics</code>:</p>

<pre><code class="language-json">{"month": "2023-07", "count": 89333, "facets": {"country": [{"count": 25835, "value": "US"}, {"count": 5504, "value": "IT"}, {"count": 5305, "value": "ES"}, {"count": 4105, "value": "CA"}, {"count": 3697, "value": "FR"}, {"count": 3510, "value": "KR"}, {"count": 3163, "value": "DE"}, {"count": 3131, "value": "TR"}, {"count": 2506, "value": "RU"}, {"count": 2352, "value": "SE"}]}}
</code></pre>

<p>There are a few technical considerations:</p>

<ol>
<li>You can only request information about 1 facet at a time.  </li>
<li>The API calls can take a while to complete (at least several seconds).  </li>
<li>Data is only indexed going back to 2017. We have historical data that goes back farther but it's not yet indexed.</li>
</ol>

<p>That being said, the API is available to all members so check it out if you're looking for a way to programmatically see how the Internet has changed over the past few years.</p>]]></content:encoded></item><item><title><![CDATA[Accepting Crypto: A Vendor Perspective]]></title><description><![CDATA[<p>We've recently decided to stop accepting cryptocurrency payments (again) and I wanted to share some of the issues we encountered.</p>

<h4 id="background">Background</h4>

<p>Shodan is a website aimed at technical users and organizations. We have nearly 5 million registered users which makes Shodan one of the larger security-related websites. Around 8 years</p>]]></description><link>https://blog.shodan.io/accepting-crypto-a-vendor-perspective/</link><guid isPermaLink="false">74eee3d1-564c-4486-b247-edc1591a1ea4</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Wed, 03 Aug 2022 00:08:57 GMT</pubDate><content:encoded><![CDATA[<p>We've recently decided to stop accepting cryptocurrency payments (again) and I wanted to share some of the issues we encountered.</p>

<h4 id="background">Background</h4>

<p>Shodan is a website aimed at technical users and organizations. We have nearly 5 million registered users which makes Shodan one of the larger security-related websites. Around 8 years ago we started getting emails asking us to accept Bitcoin or other cryptocurrencies:</p>

<blockquote>
  <p>Is there any other way to make a payment other then Paypal....
  I have btc or credit card ,but no paypal</p>
</blockquote>

<p>Back then we only accepted PayPal so this wasn't an uncommon request. Most of them asked for credit card support but a handful also kept asking us to accept Bitcoin as a form of payment. Eventually we decided to use Stripe to accept credit card payments for the Membership. And shortly thereafter Stripe started experimenting with Bitcoin support. We jumped on that opportunity to now accept both credit cards and Bitcoin. The excitement was short-lived though as we would soon realize that nobody actually paid in crypto. We followed-up with the users that had asked for this and we'd sometimes get a "thanks" but no actual payment. There was interest in having Shodan accept cryptocurrencies as payment but there wasn't any intent on actually making a purchase with crypto. We ended up removing support for Bitcoin after leaving it running for a few months and only getting 1-2 payments.</p>

<h4 id="secondround">Second Round</h4>

<p>Flash forward a few years and we decided to re-enable cryptocurrency support as there were more options available now to accept crypto as a vendor and the ecosystem had been around for longer. It was time to see whether more people were using cryptocurrency as a form of payment. The real test for it though would happen during our once-a-year sales event for our <a href="https://account.shodan.io/billing/member">Membership</a>. It's a big 24 hours for us and this year was no different. We had 220 cryptocurrency transactions which made up &lt;1% of our total transactions. The assets used for payment are broken down as follows:</p>

<p><img src="https://blog.shodan.io/content/images/2022/08/Asset-Used-for-Payment.png" alt=""></p>

<p>This means that based on our experience Bitcoin is the most popular choice, followed by Ethereum and Dogecoin. I didn't expect Dogecoin to be be that popular and for it to be so close to Ethereum. Of those 220 transactions, 6 of them were underpayments due to volatility in the underlying asset but they were close enough that we accepted them as a payment anyways.</p>

<ul>
<li><strong>Scams Everywhere</strong>: every time somebody tweeted a question at our account there would inevitably be fake Coinbase accounts pretending to be customer service. We don't see this for payments made with Stripe and we never saw it for PayPal transactions either. We've also seen cryptocurrency scams posted as comments in our social media posts.</li>
<li><strong>Poor Developer Experience</strong>: Coinbase didn't let us specify a common secret or pass a variable to them to pre-fill a field (ex. email address). This resulted in many users not getting upgraded automatically. They had to email us and then we could manually match up their Coinbase payment with their Shodan account.</li>
<li><strong>Sending Money to the Wrong Address</strong>: we had several users that sent a payment to the wrong location. They thought the money was sent to the address provided by Coinbase but they made an error somewhere and the money never arrived in our account.</li>
</ul>

<p>As a result of the above, we received a disproportionate amount of support emails for cryptocurrency transactions which put undue burden on our support team. It's clear that from our perspective crypto is still not widely used as a form of payment. We once again disabled it on the website and maybe we'll try it again in another 10 years.</p>]]></content:encoded></item><item><title><![CDATA[Historical IP Information]]></title><description><![CDATA[<p>Shodan is turning 13 years old later this year and throughout that time we've kept an archive of all information we've ever seen. The regular search engine only shows recent information but we provide various methods for accessing Shodan's historical data:</p>

<ul>
<li>IP information page</li>
<li>Command-line interface</li>
<li>API</li>
<li>Shodan Trends</li>
</ul>

<p>The</p>]]></description><link>https://blog.shodan.io/historical-ip-information/</link><guid isPermaLink="false">c2a6404b-6722-4c99-bd86-5d5848f85daa</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Wed, 13 Apr 2022 21:37:59 GMT</pubDate><media:content url="http://blog.shodan.io/content/images/2022/04/image-26.png" medium="image"/><content:encoded><![CDATA[<img src="http://blog.shodan.io/content/images/2022/04/image-26.png" alt="Historical IP Information"><p>Shodan is turning 13 years old later this year and throughout that time we've kept an archive of all information we've ever seen. The regular search engine only shows recent information but we provide various methods for accessing Shodan's historical data:</p>

<ul>
<li>IP information page</li>
<li>Command-line interface</li>
<li>API</li>
<li>Shodan Trends</li>
</ul>

<p>The main Shodan website lets you view historical information for an IP using the <strong>History</strong> tab:</p>

<p><img src="https://blog.shodan.io/content/images/2022/04/image-3.png" alt="Historical IP Information"></p>

<p>And then when you click on it you'll see a timeline of open ports:</p>

<p><img src="https://blog.shodan.io/content/images/2022/04/image-18.png" alt="Historical IP Information"></p>

<p>Grey ports means that the port isn't currently open while blue ports means that the port is currently open. You can click on the <code>hash:...</code> links to find more services that have identical service information which is useful for tracking a service across dynamic IPs or otherwise pivoting off the service data.</p>

<p>The <a href="https://github.com/achillean/shodan-python">Shodan CLI</a> has a command to lookup IP information called <code>shodan host</code>.</p>

<p><img src="https://blog.shodan.io/content/images/2022/04/image-22.png" alt="Historical IP Information"></p>

<p>There are 2 options that are helpful for grabbing historical information:</p>

<ul>
<li>The <code>--history</code> flag ensures the CLI grabs the history of the IP.</li>
<li>The <code>--save</code> flag saves the resulting information in a file with a name of <code>IP.json.gz</code></li>
</ul>

<p>For example, the following command will grab the history for the IP <code>34.252.247.49</code> and store the resulting data in the file <code>34.252.247.49.json.gz</code>:</p>

<pre><code class="language-shell">shodan host --history --save 34.252.247.49  
</code></pre>

<p>Both the website and the CLI are entirely powered by the <a href="https://developer.shodan.io">Shodan API</a> if you want to access the historical data programmatically from within your own scripts (ex. creating a <a href="https://help.shodan.io/data-analysis/creating-gifs-from-history">gif from the historical screenshots</a>). If you're using the official Python library for Shodan then it's as simple as adding a <code>history=True</code> parameter to your <a href="https://help.shodan.io/developer-fundamentals/looking-up-ip-info">IP lookups</a>.</p>

<p>Finally, if you want to track large-scale changes across the Internet then we recommend checking out <a href="https://trends.shodan.io">Shodan Trends</a>. It lets you search across the history of the Internet to explore how technologies have changed over time. For example, the below chart shows how <a href="https://vuejs.org/">Vue.js</a> adoption has increased over the past few years:</p>

<p><img src="https://blog.shodan.io/content/images/2022/04/image-26.png" alt="Historical IP Information"></p>]]></content:encoded></item><item><title><![CDATA[nrich: A Tool for Fast IP enrichment]]></title><description><![CDATA[<p>You have a long list of IPs and you quickly want to get a basic idea of what they're running for the purpose of:</p>

<ul>
<li>Make sure they're not exposing any unexpected services</li>
<li>Filter out VPN IPs from a list of IOCs</li>
<li>Prioritize IPs that have possible vulnerabilities</li>
</ul>

<p>Introducing <strong>nrich</strong>, a</p>]]></description><link>https://blog.shodan.io/nrich-a-tool-for-fast-ip-enrichment/</link><guid isPermaLink="false">07735772-73af-4cf7-83f4-206eb4ffb413</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Wed, 16 Mar 2022 15:36:26 GMT</pubDate><media:content url="http://blog.shodan.io/content/images/2022/03/output-sample.png" medium="image"/><content:encoded><![CDATA[<img src="http://blog.shodan.io/content/images/2022/03/output-sample.png" alt="nrich: A Tool for Fast IP enrichment"><p>You have a long list of IPs and you quickly want to get a basic idea of what they're running for the purpose of:</p>

<ul>
<li>Make sure they're not exposing any unexpected services</li>
<li>Filter out VPN IPs from a list of IOCs</li>
<li>Prioritize IPs that have possible vulnerabilities</li>
</ul>

<p>Introducing <strong>nrich</strong>, a command-line tool to quickly analyze all IPs in a file and see which ones have open ports/ vulnerabilities:</p>

<p><a href="https://gitlab.com/shodan-public/nrich">https://gitlab.com/shodan-public/nrich</a></p>

<p>It's difficult to capture with Asciinema just how fast it is but here's a short demonstration:</p>

<script id="asciicast-468923" src="https://asciinema.org/a/468923.js" async></script>

<p><strong>nrich</strong> currently supports 3 output formats:</p>

<ul>
<li><code>shell</code> (default): a user-friendly view of the information.</li>
<li><code>json</code>: creates a single JSON object containing all the information. Useful if you want to store the results in a separate file that can be then loaded by other tools.</li>
<li><code>ndjson</code>: newline-delimited JSON prints a single JSON object for every line. Use this if you want to pipe the results to another tool such as <code>jq</code>.</li>
</ul>

<p>Behind the scenes, <strong>nrich</strong> takes advantage of Shodan's new <a href="https://internetdb.shodan.io">InternetDB API</a> to efficiently lookup IPs without requiring an API key. <a href="https://gitlab.com/shodan-public/nrich/-/releases">Release builds</a> are available for Windows, MacOS and Linux.</p>]]></content:encoded></item><item><title><![CDATA[Introducing Data Feeds for Search Results]]></title><description><![CDATA[<p>It's now possible for <a href="https://enterprise.shodan.io">enterprise</a> customers to subscribe to a data feed of search results. Instead of running a search query every day to ask for new results you can stay connected to a new API endpoint and Shodan will send you any banners that meet the search criteria. Read</p>]]></description><link>https://blog.shodan.io/introducing-data-feeds-for-search-results/</link><guid isPermaLink="false">e818a1e7-791a-418c-a0f7-55d6627f4b8f</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Tue, 15 Mar 2022 14:45:45 GMT</pubDate><content:encoded><![CDATA[<p>It's now possible for <a href="https://enterprise.shodan.io">enterprise</a> customers to subscribe to a data feed of search results. Instead of running a search query every day to ask for new results you can stay connected to a new API endpoint and Shodan will send you any banners that meet the search criteria. Read on to learn more about streaming queries.</p>

<p>There are 2 parts of the Shodan API: REST and Streaming.</p>

<ul>
<li>The <a href="https://developer.shodan.io/api">REST API</a> lets you do IP lookups, run search queries and setup network monitoring among other things. Most of Shodan's  capabilities are accessible via the REST API. You send a request to the REST API and you get a response.</li>
<li>The <a href="https://developer.shodan.io/api/stream">Streaming API</a> (aka Firehose) is much smaller and provides methods to get real-time streams of data. You connect to a streaming method and then you get a never-ending stream of data until you disconnect from the Streaming API.</li>
</ul>

<p>Shodan actually uses the Streaming API to build the REST API and send out notifications in <a href="https://monitor.shodan.io">Monitor</a>. Here is an overview of our architecture:</p>

<p><img src="https://blog.shodan.io/content/images/2022/03/platform.png" alt=""></p>

<p>The Shodan crawlers collect data, publish it to the Streaming API, the REST API consumes the Streaming API to store/ index the data and the websites use both APIs to access the data. Shodan is an API-first company and every website is built on-top of the same public API that you have access to.</p>

<p>We've now added the ability to create custom data feeds from search queries using the new <code>/shodan/custom</code> method of the Streaming API:</p>

<p><img src="https://blog.shodan.io/content/images/2022/03/image-3.png" alt=""></p>

<p>There is a difference though between the search query syntax of the REST API/ website and of this new custom Streaming API method: streaming queries are <strong>case-sensitive</strong>. Otherwise you should be able to take your existing search query, plug it into the Streaming API and get a real-time data feed.</p>

<p>The <a href="https://github.com/achillean/shodan-python">Shodan CLI</a> has been updated with a new <code>--custom-filters</code> option to run streaming queries. Here are a few examples:</p>

<ul>
<li>Compromised services in the US:</li>
</ul>

<pre><code>shodan stream --custom-filters "tag:compromised country:US"  
</code></pre>

<ul>
<li>Elastic or Kubernetes services deployed on Google Cloud:</li>
</ul>

<pre><code>shodan stream --custom-filters 'org:"Google LLC" product:Elastic,Kubernetes'  
</code></pre>

<ul>
<li>Industrial control systems in Germany, Switzerland or France:</li>
</ul>

<pre><code>shodan stream --custom-filters "tag:ics country:CH,DE,FR"  
</code></pre>

<p>Streaming queries are an efficient way to keep track of new results and lets you focus on the data that is relevant for your use case.</p>]]></content:encoded></item><item><title><![CDATA[Introducing the InternetDB API]]></title><description><![CDATA[<p>For more than a decade, Shodan has been singularly focused on understanding network services and devices available to the Internet. To that end, we've developed a lot of custom protocol parsers and tooling to get insights about exposed services. You can get a sense for the type of information that's</p>]]></description><link>https://blog.shodan.io/introducing-the-internetdb-api/</link><guid isPermaLink="false">c73d97c6-c124-484a-8a82-2342158332de</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Mon, 14 Mar 2022 15:43:44 GMT</pubDate><content:encoded><![CDATA[<p>For more than a decade, Shodan has been singularly focused on understanding network services and devices available to the Internet. To that end, we've developed a lot of custom protocol parsers and tooling to get insights about exposed services. You can get a sense for the type of information that's available by checking out our <a href="https://datapedia.shodan.io">Datapedia</a>. And all that data is streamed in real-time from our crawlers to the API/ website so you always see the most up-to-date information. However, as we've expanded the Shodan platform it's become clear that certain use cases don't require that much context. Sometimes you just need the basics. And for that we're now offering:</p>

<p><a href="https://internetdb.shodan.io">https://internetdb.shodan.io</a></p>

<p>The following properties are currently provided by <a href="https://internetdb.shodan.io">InternetDB</a>:</p>

<ul>
<li>Open ports</li>
<li>Vulnerabilities</li>
<li>Hostnames</li>
<li>CPEs</li>
<li>Tags</li>
</ul>

<p>And this is how a sample response looks like:</p>

<pre><code class="language-json">{
    "cpes": [
        "cpe:/a:varnish-cache:varnish"
    ],
    "hostnames": [],
    "ip": "151.101.41.140",
    "ports": [
        80,
        443
    ],
    "tags": [
        "cdn"
    ],
    "vulns": []
}
</code></pre>

<p>The major differences between the <a href="https://internetdb.shodan.io">InternetDB API</a> and the main <a href="https://developer.shodan.io/api">Shodan API</a> are:</p>

<ul>
<li>No API key required</li>
<li>Much higher rate limit</li>
<li>Weekly updates</li>
<li>Minimal port/ service information</li>
<li>Free for non-commercial use: you can use it at a company but you can't use it to build commercial products that you charge money for</li>
</ul>

<p>If you'd like to get started doing fast IP lookups without writing any code then there are a few tools that can help you out:</p>

<ul>
<li><a href="https://gitlab.com/shodan-public/nrich">nrich</a>: official Shodan tool to quickly lookup open ports/ vulnerabilities for a list of IPs. Stay tuned for a separate article on <code>nrich</code>.</li>
<li><a href="https://github.com/j3ssie/sdlookup">sdlookup</a>: similar to <code>nrich</code> but written in Go and uses a different output format</li>
<li><a href="https://github.com/SakshamInABox/ShodanBot">ShodanBot</a>: a Discord bot to help you lookup IP information</li>
<li><a href="https://twitter.com/smakofsky/status/1495549724811616257">iOS/ Mac shortcut</a>: easy way to check the open ports/ vulnerabilities from a Mac shortcut/ sheet </li>
</ul>

<p>Internally, we're using InternetDB to quickly enrich port information for domains (ex. <a href="https://www.shodan.io/domain/twitter.com">Twitter DNS information</a>) among other things. If you decide to integrate InternetDB API <a href="mailto:support@shodan.io">let us know</a> as we plan on having a page highlighting the available integrations.</p>]]></content:encoded></item><item><title><![CDATA[Introducing the GeoNet API]]></title><description><![CDATA[<p>The Internet looks different depending on where you live. The Chinese firewall is the classic example but there are lots of other instances as well. Many websites block traffic from countries in which they will never have customers. Data privacy concerns can require organizations to serve user requests from nearby</p>]]></description><link>https://blog.shodan.io/introducing-the-geonet-api-2/</link><guid isPermaLink="false">e453efb1-5009-4489-a7ef-49c0b9f76e2a</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Mon, 20 Dec 2021 15:57:22 GMT</pubDate><content:encoded><![CDATA[<p>The Internet looks different depending on where you live. The Chinese firewall is the classic example but there are lots of other instances as well. Many websites block traffic from countries in which they will never have customers. Data privacy concerns can require organizations to serve user requests from nearby locations. And companies are deploying applications to the edge for an improved low latency user experience. This is one of the reasons that our crawling infrastructure is distributed globally; it makes sure the data isn't regionally biased.</p>

<p>Over the past few years, we've increasingly seen websites behave differently depending on where Shodan connects from (Shodan scans a few hundred million hostnames each month) and internally we've had some tooling to help debug location-based issues. We're now making some of that available to you as a free API and accompanying CLI tools:</p>

<p><strong>GeoNet API</strong>: <a href="https://geonet.shodan.io">https://geonet.shodan.io</a></p>

<p>The API currently provides 2 main commands:</p>

<ul>
<li>geodns</li>
<li>geoping</li>
</ul>

<p>The <code>geodns</code> method will perform a DNS lookup and <code>geoping</code> does an ICMP ping request. Both of those methods are run from multiple locations around the world and the API aggregates the results into a single API response to you.</p>

<p>Alongside the API, we're releasing <a href="https://gitlab.com/shodan-public/geonet-rs">accompanying CLI tools</a> if you want to use the <code>geoping</code> and <code>geodns</code> methods directly from your terminal without having to write any code. We provide pre-built releases for Linux. For example, this is how the <code>geoping</code> command works on the CLI:</p>

<script id="asciicast-xc15PlEMYWp8HQuUlrYHIA8pE" src="https://asciinema.org/a/xc15PlEMYWp8HQuUlrYHIA8pE.js" async></script>

<p>The API is free to use but subject to a rate limit of 1 request per second. <a href="mailto:support@shodan.io">Talk to us</a> if you need to do a higher volume of requests.</p>]]></content:encoded></item><item><title><![CDATA[Upgraded Look and Feel]]></title><description><![CDATA[<p>This year we rolled out the new <a href="https://www.shodan.io">main Shodan website</a> and alongside it updated the look of all websites. There were a few specific goals that we had for the new look and feel:</p>

<ul>
<li>Reduce page sizes. The web is becoming increasingly bloated. Lets try to keep things lean.</li>
<li>Remove</li></ul>]]></description><link>https://blog.shodan.io/upgraded-look-and-feel/</link><guid isPermaLink="false">07c371c3-e6bc-40a3-9859-925f25ccf290</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Wed, 24 Nov 2021 20:02:00 GMT</pubDate><media:content url="http://blog.shodan.io/content/images/2021/11/outrun-1.png" medium="image"/><content:encoded><![CDATA[<img src="http://blog.shodan.io/content/images/2021/11/outrun-1.png" alt="Upgraded Look and Feel"><p>This year we rolled out the new <a href="https://www.shodan.io">main Shodan website</a> and alongside it updated the look of all websites. There were a few specific goals that we had for the new look and feel:</p>

<ul>
<li>Reduce page sizes. The web is becoming increasingly bloated. Lets try to keep things lean.</li>
<li>Remove 3rd-party scripts that aren't necessary for the functionality of the website</li>
<li>Mobile support. You should be able to access Shodan on your phone without installing an app.</li>
<li>Dark mode. Ideally we wouldn't blind you if you pulled up the website at night.</li>
</ul>

<p>We believe that the new design system for Shodan delivers on all of the above. We optimized all of the HTML/ CSS/ Javascript to make sure it's as small as possible. With those optimizations, we were able to join the <a href="https://1mb.club/">1MB Club</a> of websites that are less than 1MB to load. We removed Google Analytics as it isn't needed to provide website functionality and we didn't want to share traffic information with a 3rd-party. We updated every website to support small screens, including mobile devices:</p>

<p><img src="https://blog.shodan.io/content/images/2021/11/mobile.png" alt="Upgraded Look and Feel"></p>

<p>And we built the new websites with support for themes! Simply go to your <a href="https://account.shodan.io/settings">account settings page</a> and select how you'd like your Shodan to look:</p>

<p><img src="https://blog.shodan.io/content/images/2021/11/settings.png" alt="Upgraded Look and Feel"></p>

<p>These are the themes you can choose from:</p>

<p><strong>Default</strong></p>

<p><img src="https://blog.shodan.io/content/images/2021/11/default.png" alt="Upgraded Look and Feel"></p>

<p><strong>Dark</strong></p>

<p><img src="https://blog.shodan.io/content/images/2021/11/dark.png" alt="Upgraded Look and Feel"></p>

<p><strong>Outrun</strong></p>

<p><img src="https://blog.shodan.io/content/images/2021/11/outrun.png" alt="Upgraded Look and Feel"></p>

<p>If you enjoy the outrun aesthetic you should also check out our <a href="https://2000.shodan.io">Shodan 2000 website</a></p>

<p><strong>Cyberpunk</strong></p>

<p><img src="https://blog.shodan.io/content/images/2021/11/cyberpunk.png" alt="Upgraded Look and Feel"></p>

<p>Finally, if you've configured your operating system or browser to prefer dark mode then websites such as our <a href="https://help.shodan.io">Help Center</a> will automatically use the dark theme. We hope you like the new look and speed of the websites!</p>]]></content:encoded></item><item><title><![CDATA[Don't Search by Port]]></title><description><![CDATA[<p>You want to learn more about <a href="https://www.elastic.co">Elastic</a> clusters exposed to the Internet. You know that the Elastic service runs on port 9200 so you go ahead and <a href="https://www.shodan.io/search?query=port%3A9200">search on Shodan</a> for that port and you get nearly a million results. A quick glance shows that these results include:</p>

<ul>
<li>CDNs</li>
<li>Honeypots</li></ul>]]></description><link>https://blog.shodan.io/dont-search-by-port/</link><guid isPermaLink="false">351ab904-4434-41d9-8261-1566f5c26ee7</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Fri, 19 Nov 2021 19:51:23 GMT</pubDate><content:encoded><![CDATA[<p>You want to learn more about <a href="https://www.elastic.co">Elastic</a> clusters exposed to the Internet. You know that the Elastic service runs on port 9200 so you go ahead and <a href="https://www.shodan.io/search?query=port%3A9200">search on Shodan</a> for that port and you get nearly a million results. A quick glance shows that these results include:</p>

<ul>
<li>CDNs</li>
<li>Honeypots</li>
<li>SSH servers</li>
<li>Webcams</li>
<li>A ton of services running on non-standard ports</li>
</ul>

<p>You could start modifying the search query to remove all the other services but then you're still faced with the issue that:</p>

<p>a) If Elastic changes its banner then your query won't work anymore. <br>
b) You will miss out on Elastic clusters that are running on non-standard ports.</p>

<p>The better solution is to recognize that Shodan is able to fingerprint Elastic and sets the <code>product</code> property to <code>Elastic</code> in those cases. As a result, you can simply search for <code>product:Elastic</code> to get <a href="https://www.shodan.io/search?query=product%3Aelastic">all public clusters across all the ports</a>. And now that we have a good search query we can see how those results have <a href="https://trends.shodan.io/search?query=product:elastic">changed over time</a> to identify whether the exposure of Elastic clusters has improved or not:</p>

<p><img src="https://blog.shodan.io/content/images/2021/11/download--2-.png" alt=""></p>

<p>In general, if you only look at the number of open ports across the Internet you often get wildly inaccurate numbers. For example, here is how the results for <code>port:102</code> have <a href="https://trends.shodan.io/search?query=port%3A102">looked over time</a>:</p>

<p><img src="https://blog.shodan.io/content/images/2021/11/download.png" alt=""></p>

<p>Port 102 is commonly used by the Siemens S7 industrial protocol and most likely what you're interested in when searching on that port. Based on the above image you might think there was a surge in Internet-connected industrial control systems. However, if you add the <code>tag:ics</code> term to filter for services that were identified as industrial protocols then you'll see a <a href="https://trends.shodan.io/search?query=port%3A102+tag%3Aics">very different picture</a>:</p>

<p><img src="https://blog.shodan.io/content/images/2021/11/download--1-.png" alt=""></p>

<p>Shodan is good about identifying services on unexpected ports so whenever possible you should leverage the <code>product</code>, <code>os</code>, <code>tag</code> and other protocol-specific properties (<code>http</code>, <code>ssl</code>, etc.) to narrow down results. This will help you get a better understanding of how something is used across the Internet regardless of whether it was left with its default settings or whether the end-user configured it to listen on a <a href="https://www.shodan.io/search?query=product%3Aopenssh+-port%3A22%2C2222">different port</a>.</p>]]></content:encoded></item><item><title><![CDATA[Introducing Shodan Trends]]></title><description><![CDATA[<p>Shodan was originally designed as a tool to understand how technology use is changing on the Internet. The information collected from the Shodan crawlers would be able to provide users with a data-driven view of what the Internet looks like; i.e. not based on surveys or sampling of popular</p>]]></description><link>https://blog.shodan.io/introducing-shodan-trends/</link><guid isPermaLink="false">b5cb485e-9b66-43f3-a7e6-0d1a1ce68d07</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Sat, 16 Oct 2021 15:56:13 GMT</pubDate><content:encoded><![CDATA[<p>Shodan was originally designed as a tool to understand how technology use is changing on the Internet. The information collected from the Shodan crawlers would be able to provide users with a data-driven view of what the Internet looks like; i.e. not based on surveys or sampling of popular websites. Which FTP software is most popular? How quickly is my hosting provider patching services? Which countries are running most of the VPNs? There were others that provided the information for web servers but I wanted to offer it for everything that's online - not just the web. I'm happy to announce that we now have a website that does that and more:</p>

<p><a href="https://trends.shodan.io">https://trends.shodan.io</a></p>

<p>At Shodan, we've always kept a full history for every IP that we've ever seen on the Internet. You can look at the history for individual IPs using the <a href="https://www.shodan.io">new website</a> or the <a href="https://help.shodan.io/developer-fundamentals/looking-up-ip-info">API/ CLI</a>. However, we never indexed that historical data in the search engine so you couldn't see how results have changed over time unless you wrote your own scripts to periodically query Shodan. With <a href="https://trends.shodan.io">Shodan Trends</a> you can now search the historical data to answer large-scale questions about the Internet. And we're making this new feature available to all members at no additional cost (see FAQ below).</p>

<h4 id="technologytrends">Technology Trends</h4>

<p>Shodan Trends shines when looking up the history of more complex queries but you can just as easily also get a <a href="https://trends.shodan.io/search?query=port%3A80">breakdown of web server software</a>. It turns out that in 2021, nginx overtook Apache as the most popular web server software on the Internet.</p>

<p><img src="https://blog.shodan.io/content/images/2021/10/download--16-.png" alt=""></p>

<p>And of course we can do the same for other software as well. For example, here is a breakdown of <a href="https://trends.shodan.io/search?query=port%3A21">FTP software</a>:</p>

<p><img src="https://blog.shodan.io/content/images/2021/10/download--21-.png" alt=""></p>

<p>The sharp increase in 2018 for <code>Pure-FTPd</code> is due to GoDaddy's use of the software.</p>

<p>We can also detect protocol-level trends such as the <a href="https://trends.shodan.io/search?query=port%3A23">decline in Telnet</a> use across the Internet:</p>

<p><img src="https://blog.shodan.io/content/images/2021/10/download--19-.png" alt=""></p>

<p>Telnet has seen a 33% decline over the past year and 63% over the past 2 years. And at the same time there's been a significant increase in <a href="https://trends.shodan.io/search?query=ssl%3A%22Let+s+Encrypt%22">services that are using Let's Encrypt</a>:</p>

<p><img src="https://blog.shodan.io/content/images/2021/10/download--20-.png" alt=""></p>

<p>Both of those are trends are positive and show that encrypted services are becoming the norm.</p>

<p>However, we're also seeing that some users are increasingly putting services on non-standard ports instead of properly securing them. The following is a chart of Modbus services running on port 503 (the standard port is 502). Note that the Modbus protocol doesn't support authentication or encryption and should never be directly exposed to the Internet:</p>

<p><img src="https://blog.shodan.io/content/images/2021/10/download--23-.png" alt=""></p>

<h4 id="mysteriesoftheinternet">Mysteries of the Internet</h4>

<p>Sometimes weird things happen on the Internet and it's not exactly clear why. For example, below is a trend chart for VPN services (<code>tag:vpn</code>):</p>

<p><img src="https://blog.shodan.io/content/images/2021/10/download--17-.png" alt=""></p>

<p>Why was there such a huge spike in 2018? Lets break it down by country and see if that provides any insights:</p>

<p><img src="https://blog.shodan.io/content/images/2021/10/download--18-.png" alt=""></p>

<p>It looks like an ISP in China for a short time was responding to all VPN handshake requests. The practice stopped after a few months and it's unclear why they did so.</p>

<h4 id="faq">FAQ</h4>

<ol>
<li><p><strong>How much does it cost?</strong> <br>
A trend search uses 1 query credit if that search isn't yet cached. <br>
Any Shodan account that has query credits is able to use Shodan <br>
Trends - there aren't any additional costs.</p></li>
<li><p><strong>Can I download the trend data?</strong> <br>
Yes, you can export the trend information as a CSV.</p></li>
<li><p><strong>How far back does it go?</strong> <br>
We've indexed data going back to 2017. Technically, Shodan has data from as old as 2015 but we haven't yet indexed it in Shodan Trends. We will be adding older data over time.</p></li>
</ol>]]></content:encoded></item><item><title><![CDATA[Search Engine Improvements]]></title><description><![CDATA[<p>Shodan has seen <a href="https://monitor.shodan.io">tremendous growth</a> the past year both in terms of additional data collection as well as number of users. Due to that increased demand we started seeing cracks in the search engine performance. All of our websites are built on-top of the same <a href="https://developer.shodan.io/api">public API</a> that our customers</p>]]></description><link>https://blog.shodan.io/search-engine-improvements/</link><guid isPermaLink="false">7e3fd50b-19af-476a-be15-ca03d834e21d</guid><dc:creator><![CDATA[John Matherly]]></dc:creator><pubDate>Mon, 07 Sep 2020 00:51:22 GMT</pubDate><media:content url="http://blog.shodan.io/content/images/2020/09/download--11-.png" medium="image"/><content:encoded><![CDATA[<img src="http://blog.shodan.io/content/images/2020/09/download--11-.png" alt="Search Engine Improvements"><p>Shodan has seen <a href="https://monitor.shodan.io">tremendous growth</a> the past year both in terms of additional data collection as well as number of users. Due to that increased demand we started seeing cracks in the search engine performance. All of our websites are built on-top of the same <a href="https://developer.shodan.io/api">public API</a> that our customers use so we felt their pain when searches timed out or data couldn't be updated in real-time due to traffic spikes. As a result, we decided to spend Q3 2020 on cleaning up some of the technical debt - starting with the search engine. I'd like to highlight a few of the improvements we've made to provide you with a better experience. Note that there are other aspects of the Shodan platform that we'll be making adjustments to in the coming months but in this article I'll focus on the search engine.</p>

<h2 id="quickrecap">Quick Recap</h2>

<p>If you're not familiar with the general rule of the Shodan search query syntax here's a quick recap:</p>

<ul>
<li>By default, Shodan only searches the <strong>data</strong> property on the banner. To search in other properties you have to specify a <strong>filter</strong>.</li>
<li>Query terms are always AND-ed together whereas filter values are OR-ed together.</li>
</ul>

<p>For example, the following search query looks for services on port 22 OR 80:</p>

<pre><code>port:22,80  
</code></pre>

<p>Whereas this searches for services on port 22 AND are identified as OpenSSH:</p>

<pre><code>port:22 product:OpenSSH  
</code></pre>

<p>And this searches for OpenSSH services in San Diego OR Austin:</p>

<pre><code>product:OpenSSH city:"San Diego,Austin"  
</code></pre>

<p>To learn more please visit our <a href="https://help.shodan.io/the-basics/search-query-fundamentals">Help Center</a> or checkout the <a href="https://beta.shodan.io/search/examples">search query examples page</a>.</p>

<h2 id="improvements">Improvements</h2>

<p>The main focus of revamping the search backend was to improve the feature while being fully backwards compatible. This means that to take advantage of the new search features you won't need to make any changes to existing code.</p>

<h4 id="generalperformance">General Performance</h4>

<p>Based on our internal metrics it looks like the new search engine is performing significantly better. And it's keeping up with the rate of data collection in real-time without breaking a sweat.</p>

<h4 id="downloadingresults">Downloading Results</h4>

<p>Each search API request returns up to 100 results per page which means in order to download all the available search results you have to page through them. In the past, you would often encounter timeouts when paging deeper into the results and it could take a long time to get the data you asked for - especially if the results weren't cached. We've made significant changes to the way paging works on the backend so download requests should be faster and not timeout anymore. You can still use the same <a href="https://beta.shodan.io">website</a>, <a href="https://help.shodan.io/guides/how-to-download-data-with-api">command-line interface</a> or API as before; it will just be a lot faster now!</p>

<h2 id="newfunctionality">New functionality</h2>

<p>We haven't just improved the search engine though, we've also deployed a new features to make your life easier.</p>

<h4 id="numericranges">Numeric Ranges</h4>

<p>You can now ask Shodan to search a range of numbers by putting one of the following characters before a number: &lt;, =&lt;, >=, ></p>

<p>The following search looks for services running on the first 1024 ports:</p>

<pre><code>port:&lt;=1024  
</code></pre>

<p>You can also use it to exclude ranges. For example, this is how you would search for SSH running on any port that's not within the first 1024 ports:</p>

<pre><code>ssh -port:&lt;=1024  
</code></pre>

<p>You can also specify multiple ranges - keep in mind that filter values specified using a comma are OR-ed together. This search looks for services on ports less than 1024 OR greater than 6000:</p>

<pre><code>port:&lt;1024,&gt;6000  
</code></pre>

<h4 id="ipv6">IPv6</h4>

<p>Shodan has been crawling IPv6 for several years but until now it wasn't possible to search for specific IPv6 network ranges. The <strong>net</strong> search filter now fully supports IPv6!</p>

<h2 id="conclusion">Conclusion</h2>

<p>I'm excited about the new backend and the opportunities we'll have with this improved architecture. <a href="mailto:support@shodan.io">Let us know</a> if you're experiencing any problems or have suggestions on what you'd like us to add!</p>]]></content:encoded></item></channel></rss>