scripts/aslookup

38 lines
930 B
Plaintext
Raw Normal View History

#!/usr/bin/env perl
#aslookup.pl - Looks up information on a given ASN or IP address
use strict;
use warnings;
use Net::Whois::RIPE;
my $default_as_server = "whois.radb.net";
my %whois_options = (
"hostname" => $default_as_server,
);
2013-03-17 05:37:32 +00:00
my $target = "1.1.1.1";
my $whois = Net::Whois::RIPE->new(%whois_options);
2013-03-17 05:37:32 +00:00
my $witerator = $whois->query($target);
while($witerator->isnt_exhausted) {
my ($asnum,$asname,$descr,$origin,$route);
my @whoisdata = split /\n/, $witerator->value();
foreach (@whoisdata) {
$asnum = $_ if /^aut-num:/;
$asname = $_ if /^as-name:/;
$descr = $_ if /^descr:/;
$origin = $_ if /^origin:/;
$route = $_ if /^route:/;
}
if($target =~ /^AS.*/i) {
$asnum =~ s/.*:[ ]+//;
$asname =~ s/.*:[ ]+//;
print "$target advertised by $asnum - $asname\n";
} else {
$descr =~ s/.*:[ ]+//;
$origin =~ s/.*:[ ]+//;
$route =~ s/.*:[ ]+//;
print "$route advertised by $origin - $descr\n";
}
}