Shodan.Net
c# client for the shodan api
Readme

Visit the official Shodan API documentation at:

https://developer.shodan.io

This is still in active development, error handling might not well handle well. Best bet when working with any libraries you didn't write..harden your calls!

Installation

install-package Shodan.Net

Getting started

You need to have an Api key. Get your api key here.

Create a shodan client. Note that ShodanClient inerhits from IDisposable, so you should wrap it in a using, or make sure it will be disposed. Shodan client is thread safe, so you should be able to keep 1 object around for many requests.

var client = new Shodan.Net.ShodanClient("myapiKey");

Now just query away.

1 await client.GetPortsAsync();
2 await client.GetHostAsync("172.1.1.0");
3 await client.GetMyIpAsync();

Searching

Searching shodan requires you to build up queries, and facets to make it easier we have used a generator pattern to produce queries.

1 await client.SearchHosts(
2  query: a => a.Withcity("boston")
3  .Withcountry("usa")
4  .Before(DateTime.Now.AddDays(-5)),
5  facet: b => b.WithAsn()
6 
7  );

APi Docs

You can find doxygen docs here