#!/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, ); if($#ARGV < 0 || $ARGV[0] eq "") { print "Provide an IP or ASN to look up"; exit; } my $target = $ARGV[0]; my $whois = Net::Whois::RIPE->new(%whois_options); 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:/; } $descr =~ s/.*:[ ]+//; if($target =~ /^AS.*/i) { $asnum =~ s/.*:[ ]+//; $asname =~ s/.*:[ ]+//; print "$target is $descr ($asname)\n"; } else { $origin =~ s/.*:[ ]+//; $route =~ s/.*:[ ]+//; print "$route advertised by $origin - $descr\n"; } }