CensysEx.Hosts (censys_ex v1.1.0) View Source

CensysEx wrapper for the search.censys.io v2 API for the "hosts" resource

Link to this section Summary

Functions

Hits the Censys Hosts aggregate API. Optionally control number of buckets returned

Hits the Censys Hosts view names API. Returning a stream of names for that IP.

Hits the Censys Hosts search API. Returns a stream of results for your query

Hits the Censys Hosts view API. Returning full information about an IP at a given time

Link to this section Functions

Link to this function

aggregate(field, query \\ nil, num_buckets \\ 50)

View Source

Specs

aggregate(String.t(), String.t(), integer()) :: {:error, any()} | {:ok, map()}

Hits the Censys Hosts aggregate API. Optionally control number of buckets returned

Examples

CensysEx.Hosts.aggregate("location.country_code", "services.service_name: MEMCACHED")

CensysEx.Hosts.aggregate("location.country_code", "services.service_name: MEMCACHED", 1000)
Link to this function

diff(ip, ip_b \\ nil, at_time \\ nil, at_time_b \\ nil)

View Source

Specs

diff(String.t(), String.t(), DateTime.t(), DateTime.t()) ::
  {:error, any()} | {:ok, map()}

Hits the Censys Hosts diff API.

Examples

# diff the current host with it self 🤷
CensysEx.Hosts.diff("8.8.8.8")

# diff two hosts
CensysEx.Hosts.diff("8.8.8.8", "1.1.1.1")

# diff a host with itself at a time in the past
CensysEx.Hosts.diff("8.8.8.8", nil, ~U[2021-06-07 12:53:27.450073Z])

# diff two hosts in the past
CensysEx.Hosts.diff("8.8.8.8", "8.8.4.4" ~U[2021-06-07 12:53:27.450073Z], ~U[2021-06-07 12:53:27.450073Z])

Hits the Censys Hosts view names API. Returning a stream of names for that IP.

Examples

CensysEx.Hosts.names("127.0.0.1")
Link to this function

search(query \\ "", per_page \\ 100)

View Source

Hits the Censys Hosts search API. Returns a stream of results for your query

Examples

CensysEx.Hosts.search("same_service(service_name: SSH and not port: 22)")
|> Stream.take(25)
|> Stream.map(&Map.get(&1, "ip"))
|> Enum.to_list()
["10.0.0.6", "10.2.0.1", ...]
Link to this function

view(ip, at_time \\ nil)

View Source

Specs

view(String.t(), DateTime.t()) :: {:error, any()} | {:ok, map()}

Hits the Censys Hosts view API. Returning full information about an IP at a given time

Examples

CensysEx.Hosts.view("127.0.0.1")

# View "127.0.0.1" at a certain time
CensysEx.Hosts.view("127.0.0.1", ~U[2021-06-07 12:53:27.450073Z])