Cómo encontrar la ubicación geográfica del servidor Linux en la terminal


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 las APIs abiertas y un sencillo script de bash desde la línea de comandos.

En Internet, cada servidor tiene una dirección IP pública, que se asigna directamente al servidor o mediante un enrutador 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 usando dos API útiles proporcionadas por ipinfo.io y ipvigilante.com para obtener ciudad , estado y país conectado a 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 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

Encuentra la dirección IP pública del servidor

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

$ curl https://ipinfo.io/ip

Obtener datos de ubicación IP de la API

Una vez que tenga la dirección IP pública del servidor, ahora puede realizar una solicitud a la API de ipvigilante.com para obtener los datos de geolocalización mediante el siguiente comando. Asegúrese de reemplazar & lt; su dirección IP & gt; con la IP pública del servidor.

$ curl https://ipvigilante.com/<your ip address>

Estos son los datos que obtenemos del comando anterior.

Automatice la llamada a la API usando Bash Script

Ahora, para automatizar el proceso de API, crearemos un script llamado getipgeoloc.sh (puede asignarle el nombre que desee) usando cualquiera de sus editores de línea de comandos favoritos.

$ vim getipgeoloc.sh

Luego copia y pega 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 el nombre de ciudad y país junto con las coordenadas aproximadas de latitud y longitud .

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 te puede interesar leer los siguientes artículos relacionados:

  1. 4 Ways to Find Server Public IP Address in Linux Terminal
  2. Find Out All Live Hosts IP Addresses Connected on Network in Linux
  3. Find Top 10 IP Addresses Accessing Your Apache Web Server

¡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 el terminal mediante los comandos rizo y jq . Comparta sus opiniones con nosotros o haga cualquier pregunta a través del formulario de comentarios a continuación.