En este artículo, le mostraremos cómo encontrar la ubicación geográfica de la dirección IP de un sistema Linux remoto utilizando API abiertas. y un sencillo script bash desde la línea de comando.
En Internet, cada servidor tiene una dirección IP pública, que se asigna directamente al servidor o a través de un enrutador que envía tráfico de red a ese servidor.
Las direcciones IP brindan 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 y ipvigilante.com para conseguir la ciudad , estado y país conectado con un servidor.
Instalar Curl y jq
Para obtener la ubicación geográfica de la dirección IP del servidor, debemos instalar el descargador de línea de comando curl y jq herramienta de línea de comandos 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
Encuentre la dirección IP pública del servidor
Para obtener la dirección IP pública del servidor, use el siguiente comando curl para realizar una solicitud API a ipinfo.io en su terminal como se muestra.
$ curl https://ipinfo.io/ip
Obtener datos de ubicación de IP de la API
Una vez que tenga la dirección IP pública del servidor, puede realizar una solicitud a ipvigilante.com 's API para obtener los datos de geolocalización usando el siguiente comando. Asegúrese de reemplazar <your ip address>
con la IP pública del servidor.
$ curl https://ipvigilante.com/<your ip address>
Estos son los datos que obtenemos del comando anterior.
Automatizar la llamada a la API mediante Bash Script
Ahora, para automatizar el proceso de la API, crearemos un script llamado getipgeoloc.sh
(puede nombrarlo como desee) utilizando cualquiera de sus editores de línea de comandos favoritos.
$ vim getipgeoloc.sh
Luego copie y pegue el siguiente comando largo en él.
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
Guarde el archivo y haga que el script sea ejecutable con el siguiente comando.
$ chmod +x getipgeoloc.sh
Finalmente, ejecute el script para obtener la ubicación geográfica de su IP de Linux como se muestra en la siguiente captura de pantalla.
$ ./getipgeoloc.sh
La secuencia de comandos anterior muestra la ciudad y país nombre junto con la latitud aproximada y longitud coordenadas.
Alternativamente, también puede ejecutar el comando anterior sin guardarlo en un script como se muestra.
$ curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
También le puede interesar leer los siguientes artículos relacionados:
- 4 formas de encontrar la dirección IP pública del servidor en la terminal de Linux
- Descubra todas las direcciones IP de los hosts activos conectados a la red en Linux
- Encuentre las 10 principales direcciones IP que acceden a su servidor web Apache
¡Eso es todo por ahora! En este breve artículo, hemos mostrado cómo obtener la ubicación geográfica de su IP de Linux desde la terminal usando el curl y jq comandos Comparta sus pensamientos con nosotros o haga cualquier pregunta a través del formulario de comentarios a continuación.