… | |
… | |
205 | } |
205 | } |
206 | |
206 | |
207 | package netgeo; |
207 | package netgeo; |
208 | |
208 | |
209 | use Socket; |
209 | use Socket; |
|
|
210 | use BerkeleyDB; |
210 | |
211 | |
211 | sub ip2int($) { |
212 | sub ip2int($) { |
212 | unpack "N", inet_aton $_[0]; |
213 | unpack "N", inet_aton $_[0]; |
213 | } |
214 | } |
214 | |
215 | |
… | |
… | |
240 | } |
241 | } |
241 | } |
242 | } |
242 | |
243 | |
243 | my ($arin, $ripe, $apnic); |
244 | my ($arin, $ripe, $apnic); |
244 | |
245 | |
245 | $whois = $WHOIS{APNIC}->ip_request($ip) |
246 | $whois = $WHOIS{RIPE}->ip_request($ip) |
246 | || $WHOIS{RIPE} ->ip_request($ip) |
|
|
247 | || $WHOIS{ARIN} ->ip_request($ip); |
247 | || $WHOIS{ARIN} ->ip_request($ip) |
|
|
248 | || $WHOIS{APNIC} ->ip_request($ip); |
248 | |
249 | |
249 | $whois =~ /^\*in: ([0-9.]+)\s+-\s+([0-9.]+)\s*$/mi |
250 | $whois =~ /^\*in: ([0-9.]+)\s+-\s+([0-9.]+)\s*$/mi |
250 | or do { warn "$whois($ip): no addresses found\n", last }; |
251 | or do { warn "$whois($ip): no addresses found\n", last }; |
251 | |
252 | |
252 | my ($ip0, $ip1) = ($1, $2); |
253 | my ($ip0, $ip1) = ($1, $2); |