https://esgeeks.com/?p=6186
Cómo encontrar ubicación geográfica de IP en terminal Linux
5 (100%) 9 voto[s]

En este artículo, te mostraré cómo encontrar la ubicación geográfica de la dirección IP de un sistema Linux remoto mediante API abiertas y un simple script de bash desde la línea de comandos o terminal.

En Internet, cada servidor tiene una dirección IP pública, que se asigna directamente en el servidor o mediante un router que envía el tráfico de la red a ese servidor.

Las direcciones IP proporcionan una manera fácil de rastrear la ubicación del servidor en el mundo mediante el uso de dos API útiles proporcionadas por ipinfo.io e ipvigilante.com para conectar la ciudad, el estado y el país con un servidor.


1. Instalar Curl y jq

Para obtener la ubicación geográfica de una dirección IP pública, debemos instalar el downloader de línea de comandos curl y la herramienta de línea de comandos jq para procesar los datos JSON de las API de geolocalización.

sudo apt install curl jq		#Ubuntu/Debian
sudo yum install curl jq		#CentOS/RHEL
sudo dnf install curl jq		#Fedora 22+
sudo zypper install curl jq	        #openSUSE
Cómo Instalar Curl y jq

Cómo Instalar Curl y jq

2. Encontrar la dirección IP pública del servidor

Para obtener la dirección IP pública del servidor, usa el siguiente comando curl para hacer una solicitud de API a ipinfo.io en tu terminal como se muestra:

Nota!

De aquí en adelante junta la palabra c u r l (WordPress no me permite escribirlo junto)
c u r l https://ipinfo.io/ip
Obtener dirección IP pública del servidor

Obtener dirección IP pública del servidor

3. Obtener datos de ubicación IP de la API

Una vez que tengas la dirección IP pública del servidor, ahora puedes realizar una solicitud a la API de ipvigilante.com para obtener los datos de geolocalización mediante el siguiente comando. Asegúrate de reemplazar <TU_IP> con la IP pública del servidor.

c u r l https://ipvigilante.com/<TU_IP>
Obtener ubicación de IP pública

Obtener ubicación de IP pública

4. Automatizar la llamada a la API usando un Script de Bash

Ahora, para automatizar el proceso de API, crearé un script llamado ObtenerIpGeo.sh (puedes nombrarlo como quieras) usando cualquiera de tus editores de línea de comando favoritos.

vim ObtenerIpGeo.sh

Luego copia y pega el siguiente comando largo en él:

c u r l -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
Script de Bash para obtener geolocalización de IP

Script de Bash para obtener geolocalización de IP

Guarda el archivo y haz que el script sea ejecutable con el siguiente comando.

chmod +x ObtenerIpGeo.sh

Finalmente, ejecuta el script para obtener la ubicación geográfica de tu IP de Linux como se muestra en la siguiente captura de pantalla.


./ObtenerIpGeo.sh
Obtener ubicación de IP con Bash

Obtener ubicación de IP con Bash

El script anterior muestra el nombre de la ciudad y el país junto con las coordenadas aproximadas de latitud y longitud.

Alternativamente, también puedes ejecutar el comando anterior sin guardarlo en un script como se muestra:

$ c u r l -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
Obtener ubicación de IP con ipvigilante.com

Obtener ubicación de IP con ipvigilante.com

También te puede interesar leer los siguientes artículos relacionados:

¡Eso es todo! En este breve artículo, te he mostrado cómo obtener la ubicación geográfica de de una IP en Linux desde la terminal mediante los comandos curl y jq. ¡Compártelo! :’)


¡Mantente actualizado!

Suscríbete a nuestro boletín semanal...

Suscríbete a nuestro boletín electrónico para recibir artículos útiles y ofertas especiales. No te perderás absolutamente de nada!

Enviaremos solamente boletines al email y no compartiremos tu email.