Cómo hacer búsquedas de geolocalización de direcciones IP en Linux

Cómo hacer búsquedas de geolocalización de direcciones IP en Linux

Probablemente haya notado diferentes servicios en Internet que automáticamente saben aproximadamente en qué parte del mundo se encuentra. Desde los servicios de transmisión de música y video hasta las tiendas en línea, estos servicios utilizan una técnica, llamada geolocalización IP, que hace coincidir su ubicación física aproximada con la dirección IP que está utilizando. Cada vez que se conecta a Internet, a su dispositivo se le asigna una dirección IP de un grupo de direcciones que se asignan a las diferentes compañías de telecomunicaciones. La forma en que funcionan estas direcciones puede ser bastante complicada, pero debido a que se asignan en bloques, es posible crear una base de datos que asigna un bloque de direcciones a un país o incluso a un área o ciudad en particular.

La buena noticia es que hacer estas búsquedas de geolocalización no es solo para los grandes sitios web corporativos y megas. Hay una serie de servicios en línea gratuitos e incluso una herramienta de línea de comandos para Linux que le permite buscar direcciones IP y obtener información sobre dónde se asigna esa dirección. Esto puede ser muy útil cuando estás investigando un correo electrónico sospechoso o comentarios extraños dejados en un blog. También es útil cuando se utilizan servicios que enmascaran su dirección IP, como una VPN, para asegurarse de que funcionan como se anuncia.

Para buscar una dirección IP desde la línea de comandos de Linux, debe instalar la herramienta «geoiplookup». Para uso de Ubuntu y Raspbian:

sudo apt-get install geoip-bin

Para buscar una dirección IP, escriba lo siguiente:

búsquedas de geolocalización para dirección IP 8.8.4.4

Reemplace 8.8.4.4 con la dirección que desea buscar. En este ejemplo, la dirección 8.8.4.4 (que es uno de los servidores DNS de Google) se informa correctamente como una dirección de EE. UU.

La base de datos provista con su distribución de Linux probablemente esté desactualizada; puede verificar para ver cuándo se creó usando el -v bandera:

búsquedas de geolocalización detalladas

En este caso, vemos que la base de datos se creó en agosto de 2013.

MaxMind proporciona la base de datos de geolocalización y la empresa actualiza sus bases de datos todos los meses. Puede actualizar la base de datos descargando los archivos más recientes directamente desde MaxMind.com.

wget https://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gunzip GeoIP.dat.gz
sudo cp GeoIP.dat /usr/share/GeoIP/

Ahora puede volver a consultar la base de datos para conocer su fecha de compilación:

búsquedas de geolocalización detalladas 2

La herramienta ahora informa que la base de datos se creó en abril de 2014.

MaxMind también proporciona una base de datos de la ciudad, que en muchos casos brinda una mayor precisión. Para instalarlo, utilice los siguientes comandos para descargar la base de datos y copiarla en el directorio GeoIP:

wget https://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
sudo cp GeoLiteCity.dat /usr/share/GeoIP/

Para obtener la información de la ciudad, debe informar al “geoiplookup” herramienta para utilizar la base de datos de la ciudad:

geoiplookup -f /usr/share/GeoIP/GeoLiteCity.dat 71.3.9.242

búsquedas de geolocalización base de datos de la ciudad

Esta vez, geoiplookup nos dice que la dirección está en Florida y más específicamente en Summerfield, Florida.

Servicio en línea

Además de la herramienta geoiplookup, hay una serie de servicios en línea que pueden proporcionar información de geolocalización. Por ejemplo, si abre geoiptool.com en su navegador web, el sitio le dará información sobre su ubicación actual.

búsquedas de geolocalización con geoiptool

Otro sitio freegeoip.net tiene una API que está diseñada para usarse en el backend de los sitios web o desde dentro de las aplicaciones. Sin embargo, también se puede usar desde la línea de comando usando “curl.” Primero, asegúrese de tener “curl” instalado:

sudo apt-get install curl

Para obtener información de geolocalización en formato XML, utilice:

curl freegeoip.net/xml/72.4.9.242

búsquedas de geolocalización con la API freegeoip

La salida XML revela que la dirección IP 72.4.9.242 se usa en Evansville, Indiana. También puede obtener los mismos datos en formato CSV o JSON cambiando la parte «xml» de la URL a «csv» o «json», respectivamente.

La herramienta geoiplookup y los servicios en línea pueden ser muy útiles. Si tiene alguna pregunta sobre su uso, por favor pregunte en la sección de comentarios a continuación.

Experto Geek - Tu Guía en Tendencias Tecnológicas