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 API abiertas y un script bash simple 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 tráfico de 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.

Instala Curl y jq

Para obtener la ubicación geográfica de la dirección IP del servidor, necesitamos instalar el descargador de línea de comando curl y la herramienta de línea de comando 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

Encuentre la dirección IP pública del servidor

Para obtener el comando curl para realizar una solicitud de 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 haya obtenido 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 usando el siguiente comando. Asegúrese de reemplazar 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) usando 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 el nombre de la ciudad y el 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 le gustaría leer estos siguientes artículos relacionados:

  1. 4 formas de encontrar la dirección IP pública del servidor en una terminal Linux
  2. Descubra todas las direcciones IP de Live Hosts conectadas a la red en Linux
  3. Encuentre las 10 direcciones IP principales para acceder 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 el terminal usando los comandos curl y jq. Comparta sus pensamientos con nosotros o haga cualquier pregunta a través del formulario de comentarios a continuación.