Shodan
NAME
Shodan
DESCRIPTION
A raku-lang client for Shodan, a search engine for Internet-connected devices. This client provides an interface for the Shodan API.
SYNOPSIS
use Shodan;
my $shodan = Shodan.new(api-key => %*ENV{'SHODAN_API_KEY'});
my $api-info = $shodan.api-info();
say $api-info;
my $host = $shodan.host(ip => '8.8.8.8');
say $host;
my $scan = $shodan.scan(ips => '8.8.8.8,1.1.1.1', service => [[53, 'dns-udp'], [443, 'https']]);
say $scan;
my $alert = $shodan.alert-create(name => 'test', filters => {ip => ['1.1.1.1', '8.8.8.8']}, expires => 60);
say $alert;
my $notifiers = $shodan.notifiers();
say $notifiers;
my $queries = $shodan.queries();
say $queries;
my $dns = $shodan.dns-domain(domain => 'google.com', history => True, type => 'A', page => 1);
say $dns;
my $headers = $shodan.tools-http-headers();
say $headers;
my $exploit = $shodan.exploit-count(query => '2011-0349');
say $exploit;
$shodan.stream-alerts(callback => {say $_; done;});
REST API METHODS
EXPLOIT API METHODS
SEE Shodan::API::Exploit README
STREAM API METHODS
SEE Shodan::API::Stream README
AUTHOR
"Sarah Fuller", <"sarah at averna . id . au">
COPYRIGHT AND LICENSE
Copyright 2022 Sarah Fuller
This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.