Scot Robnett wrote:

> I'm assuming your best bet would be to find the IP using the first line of a
> ping or traceroute and regex-ing out the extraneous stuff, then using
> 'whois -a' (which does an ARIN search) and extracting the 4th line to get
> the country.
> 
> Anybody have any easier/faster ideas?


use this lookup hash.  this list is available at

http://www.iana.org/assignments/ipv4-address-space


     my %IPS = (
         '0'   => 'IANA - Reserved',
         '1'   => 'IANA - Reserved',
         '2'   => 'IANA - Reserved',
         '3'   => 'General Electric Company',
         '4'   => 'Bolt Beranek and Newman Inc.',
         '5'   => 'IANA - Reserved',
         '6'   => 'Army Information Systems Center',
         '7'   => 'IANA - Reserved',
         '8'   => 'Bolt Beranek and Newman Inc.',
         '9'   => 'IBM',
         '10'  => 'IANA - Private Use',
         '11'  => 'DoD Intel Information Systems',
         '12'  => 'AT&T Bell Laboratories',
         '13'  => 'Xerox Corporation',
         '14'  => 'IANA - Public Data Network',
         '15'  => 'Hewlett-Packard Company',
         '16'  => 'Digital Equipment Corporation',
         '17'  => 'Apple Computer Inc.',
         '18'  => 'MIT',
         '19'  => 'Ford Motor Company',
         '20'  => 'Computer Sciences Corporation',
         '21'  => 'DDN-RVN',
         '22'  => 'Defense Information Systems Agency',
         '23'  => 'IANA - Reserved',
         '24'  => 'ARIN - Cable Block',
         '25'  => 'Royal Signals and Radar Establishment',
         '26'  => 'Defense Information Systems Agency',
         '27'  => 'IANA - Reserved',
         '28'  => 'DSI-North',
         '29'  => 'Defense Information Systems Agency',
         '30'  => 'Defense Information Systems Agency',
         '31'  => 'IANA - Reserved',
         '32'  => 'Norsk Informasjonsteknologi',
         '33'  => 'DLA Systems Automation Center',
         '34'  => 'Halliburton Company',
         '35'  => 'MERIT Computer Network',
         '36'  => 'IANA - Reserved',
         '37'  => 'IANA - Reserved',
         '38'  => 'Performance Systems International',
         '39'  => 'IANA - Reserved',
         '40'  => 'Eli Lily and Company',
         '41'  => 'IANA - Reserved',
         '42'  => 'IANA - Reserved',
         '43'  => 'Japan Inet',
         '44'  => 'Amateur Radio Digital Communications',
         '45'  => 'Interop Show Network',
         '46'  => 'Bolt Beranek and Newman Inc.',
         '47'  => 'Bell-Northern Research',
         '48'  => 'Prudential Securities Inc.',
         '49'  => 'Joint Technical Command',
         '50'  => 'Joint Technical Command',
         '51'  => 'Deparment of Social Security of UK',
         '52'  => 'E.I. duPont de Nemours and Co., Inc.',
         '53'  => 'Cap Debis CCS',
         '54'  => 'Merck and Co., Inc.',
         '55'  => 'Boeing Computer Services',
         '56'  => 'U.S. Postal Service',
         '57'  => 'SITA',
         '58'  => 'IANA - Reserved',
         '59'  => 'IANA - Reserved',
         '60'  => 'IANA - Reserved',
         '61'  => 'APNIC - Pacific Rim',
         '62'  => 'RIPE NCC - Europe',
         '63'  => 'ARIN',
         '64'  => 'ARIN',
         '65'  => 'ARIN',
         '66'  => 'ARIN',
         '67'  => 'ARIN',
         '68'  => 'ARIN',
         '69'  => 'IANA - Reserved',
         '70'  => 'IANA - Reserved',
         '71'  => 'IANA - Reserved',
         '72'  => 'IANA - Reserved',
         '73'  => 'IANA - Reserved',
         '74'  => 'IANA - Reserved',
         '75'  => 'IANA - Reserved',
         '76'  => 'IANA - Reserved',
         '77'  => 'IANA - Reserved',
         '78'  => 'IANA - Reserved',
         '79'  => 'IANA - Reserved',
         '80'  => 'RIPE NCC',
         '81'  => 'RIPE NCC',
         '82'  => 'IANA - Reserved',
         '83'  => 'IANA - Reserved',
         '84'  => 'IANA - Reserved',
         '85'  => 'IANA - Reserved',
         '86'  => 'IANA - Reserved',
         '87'  => 'IANA - Reserved',
         '88'  => 'IANA - Reserved',
         '89'  => 'IANA - Reserved',
         '90'  => 'IANA - Reserved',
         '91'  => 'IANA - Reserved',
         '92'  => 'IANA - Reserved',
         '93'  => 'IANA - Reserved',
         '94'  => 'IANA - Reserved',
         '95'  => 'IANA - Reserved',
         '96'  => 'IANA - Reserved',
         '97'  => 'IANA - Reserved',
         '98'  => 'IANA - Reserved',
         '99'  => 'IANA - Reserved',
         '100' => 'IANA - Reserved',
         '101' => 'IANA - Reserved',
         '102' => 'IANA - Reserved',
         '103' => 'IANA - Reserved',
         '104' => 'IANA - Reserved',
         '105' => 'IANA - Reserved',
         '106' => 'IANA - Reserved',
         '107' => 'IANA - Reserved',
         '108' => 'IANA - Reserved',
         '109' => 'IANA - Reserved',
         '110' => 'IANA - Reserved',
         '111' => 'IANA - Reserved',
         '112' => 'IANA - Reserved',
         '113' => 'IANA - Reserved',
         '114' => 'IANA - Reserved',
         '115' => 'IANA - Reserved',
         '116' => 'IANA - Reserved',
         '117' => 'IANA - Reserved',
         '118' => 'IANA - Reserved',
         '119' => 'IANA - Reserved',
         '120' => 'IANA - Reserved',
         '121' => 'IANA - Reserved',
         '122' => 'IANA - Reserved',
         '123' => 'IANA - Reserved',
         '124' => 'IANA - Reserved',
         '125' => 'IANA - Reserved',
         '126' => 'IANA - Reserved',
         '127' => 'IANA - Reserved',
         '128' => 'Various Registries',
         '129' => 'Various Registries',
         '130' => 'Various Registries',
         '131' => 'Various Registries',
         '132' => 'Various Registries',
         '133' => 'Various Registries',
         '134' => 'Various Registries',
         '135' => 'Various Registries',
         '136' => 'Various Registries',
         '137' => 'Various Registries',
         '138' => 'Various Registries',
         '139' => 'Various Registries',
         '140' => 'Various Registries',
         '141' => 'Various Registries',
         '142' => 'Various Registries',
         '143' => 'Various Registries',
         '144' => 'Various Registries',
         '145' => 'Various Registries',
         '146' => 'Various Registries',
         '147' => 'Various Registries',
         '148' => 'Various Registries',
         '149' => 'Various Registries',
         '150' => 'Various Registries',
         '151' => 'Various Registries',
         '152' => 'Various Registries',
         '153' => 'Various Registries',
         '154' => 'Various Registries',
         '155' => 'Various Registries',
         '156' => 'Various Registries',
         '157' => 'Various Registries',
         '158' => 'Various Registries',
         '159' => 'Various Registries',
         '160' => 'Various Registries',
         '161' => 'Various Registries',
         '162' => 'Various Registries',
         '163' => 'Various Registries',
         '164' => 'Various Registries',
         '165' => 'Various Registries',
         '166' => 'Various Registries',
         '167' => 'Various Registries',
         '168' => 'Various Registries',
         '169' => 'Various Registries',
         '170' => 'Various Registries',
         '171' => 'Various Registries',
         '172' => 'Various Registries',
         '173' => 'Various Registries',
         '174' => 'Various Registries',
         '175' => 'Various Registries',
         '176' => 'Various Registries',
         '177' => 'Various Registries',
         '178' => 'Various Registries',
         '179' => 'Various Registries',
         '180' => 'Various Registries',
         '181' => 'Various Registries',
         '182' => 'Various Registries',
         '183' => 'Various Registries',
         '184' => 'Various Registries',
         '185' => 'Various Registries',
         '186' => 'Various Registries',
         '187' => 'Various Registries',
         '188' => 'Various Registries',
         '189' => 'Various Registries',
         '190' => 'Various Registries',
         '191' => 'Various Registries',
         '192' => 'Various Registries - MultiRegional',
         '193' => 'RIPE NCC - Europe',
         '194' => 'RIPE NCC - Europe',
         '195' => 'RIPE NCC - Europe',
         '196' => 'Various Registries',
         '197' => 'IANA - Reserved',
         '198' => 'Various Registries',
         '199' => 'ARIN - North America',
         '200' => 'ARIN - Central and South America',
         '201' => 'Reserved - Central and South America',
         '202' => 'APNIC - Pacific Rim',
         '203' => 'APNIC - Pacific Rim',
         '204' => 'ARIN - North America',
         '205' => 'ARIN - North America',
         '206' => 'ARIN - North America',
         '207' => 'ARIN - North America',
         '208' => 'ARIN - North America',
         '209' => 'ARIN - North America',
         '210' => 'APNIC - Pacific Rim',
         '211' => 'APNIC - Pacific Rim',
         '212' => 'RIPE NCC - Europe',
         '213' => 'RIPE NCC - Europe',
         '214' => 'US-DOD',
         '215' => 'US-DOD',
         '216' => 'ARIN - North America',
         '217' => 'RIPE NCC - Europe',
         '218' => 'APNIC - Pacific Rim',
         '219' => 'APNIC',
         '220' => 'APNIC',
         '221' => 'IANA - Reserved',
         '222' => 'IANA - Reserved',
         '223' => 'IANA - Reserved',
         '224' => 'IANA - Multicast',
         '225' => 'IANA - Multicast',
         '226' => 'IANA - Multicast',
         '227' => 'IANA - Multicast',
         '228' => 'IANA - Multicast',
         '229' => 'IANA - Multicast',
         '230' => 'IANA - Multicast',
         '231' => 'IANA - Multicast',
         '232' => 'IANA - Multicast',
         '233' => 'IANA - Multicast',
         '234' => 'IANA - Multicast',
         '235' => 'IANA - Multicast',
         '236' => 'IANA - Multicast',
         '237' => 'IANA - Multicast',
         '238' => 'IANA - Multicast',
         '239' => 'IANA - Multicast',
         '240' => 'IANA - Reserved',
         '241' => 'IANA - Reserved',
         '242' => 'IANA - Reserved',
         '243' => 'IANA - Reserved',
         '244' => 'IANA - Reserved',
         '245' => 'IANA - Reserved',
         '246' => 'IANA - Reserved',
         '247' => 'IANA - Reserved',
         '248' => 'IANA - Reserved',
         '249' => 'IANA - Reserved',
         '250' => 'IANA - Reserved',
         '251' => 'IANA - Reserved',
         '252' => 'IANA - Reserved',
         '253' => 'IANA - Reserved',
         '254' => 'IANA - Reserved',
         '255' => 'IANA - Reserved'
     );


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to