NAME
Sendmail::AbuseIPDB - API access for IP address abuse database
SYNOPSIS
use Sendmail::AbuseIPDB;
my $db = Sendmail::AbuseIPDB->new(Key => '** your API key here **');
my $ip = '31.210.35.146'; # IP of sender
my @all_data = $db->get( $ip );
foreach my $d ( @all_data )
{
foreach my $c ( @{$d->{category}} )
{
print "DATE:$d->{created} CATEGORY:" . $db->catg( $c ) . "\n";
}
}
DESCRIPTION
Convenient toolbox for API access to https://www.abuseipdb.com/
Potentially for other sites with compatible API if you want to change the BaseURL.
METHODS
new( Key => $key, ... )
Additional parameters are: BaseURL, Days, Debug
get( $ip )
Do a query to check an IP address. Returns array of hash references, looking similar to this:
{
'created' => 'Sun, 17 Sep 2017 04:53:45 +0000',
'country' => 'Turkey',
'isoCode' => 'TR',
'ip' => '31.210.35.146',
'category' => [
14
]
}
catg( $number )
Convert the category from integer to printable string.
filter( $category, @data )
Return an array of those members in @data that match the given category.
The format of @data is same as the return array from get() so see above.
The $category can be either a number, or a printable string.
SEE ALSO
https://www.abuseipdb.com/api.html
https://www.abuseipdb.com/categories
Sendmail::PMilter
Example program abuseipdb_milter.pl for a simple way to block suspicious senders.
AUTHOR
<ttndy@cpan.org>
COPYRIGHT AND LICENSE
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.10.1 or,
at your option, any later version of Perl 5 you may have available.