En las siguientes líneas vamos a describir un proceso de cómo recuperar e información geográfica de una dirección IP . Para esto usaremos un módulo de API de Perl Maxmind. Esta compañía también proporciona un archivo de datos geolitecidad que es gratuita pero que es menos precisa que la versión pagada. En cuanto a una parte de preparación, primero debemos descargar un módulo GeoIP Perl y un archivo de datos:
$ cd $ mkdir geoip $ cd geoip $ wget http: // geolite.maxmind.com/descargar/geoip/api/perl/geo-ip-1.38.alquitrán.gz $ wget http: // geolite.maxmind.com/download/geoip/database/geolitecity.dat.GZ
Mientras que en el directorio GeoIP, el siguiente paso es extraer ambos paquetes:
$ tar xzf geo-ip-1.38.alquitrán.gz $ gunzip geolitecidad.dat.GZ
Cabe señalar que este artículo supone que está ejecutando alguna distribución de Linux con Perl Interpreter.
En esta etapa crea un archivo llamado iptolocation.PL en su directorio GeoIP con un código siguiente:
#!/usr/bin/perl usa lib "geo-ip-1.38/lib/"; use geo :: ip; my $ gi = geo :: ip-> open (" geolitecity.dat ", geoip_standard); my $ r = $ gi-> registrar_by_name ($ argv [0]); if ($ r) print Join (" \ n ", $ r-> country_code, $ r-> country_name, $ r-> City, $ r-> región, $ r-> region_name, $ r-> postal_code, $ r-> latitud, $ r-> longitud, $ r-> metro_code, $ r-> área_code) . "\norte"; el más imprimir "La ubicación de esta dirección IP no está definida !\ n ";
Hacer iptolocation.PL Ejecutable:
$ chmod +x iptolocation.por favor
Este simple script de Perl acepta un solo argumento y esa es una dirección IP que deseamos convertir a una ubicación geográfica. En otras palabras, ejecute el script como a continuación:
./Iptolocation.PL 8.8.8.8
PRODUCCIÓN:
ps ./Iptolocation.PL 8.8.8.8 US Estados Unidos Mountain View CA California 94043 37.4192 -122.0574 807 650