Encuentre la ubicación geográfica del servidor Ubuntu a través de la línea de comandos

Hay ocasiones en las que desea obtener la ubicación geográfica de una máquina Ubuntu remota en función de su dirección IP. Este artículo explicará cómo puede hacerlo obteniendo primero la IP del servidor público de un sistema y luego usando esta IP para buscar la ubicación geográfica, todo a través de las API proporcionadas por ipinfo.io e ipvigilante.com

Hemos ejecutado los comandos y procedimientos mencionados en este artículo en un sistema Ubuntu 18.04 LTS.

Mostrar la ubicación geográfica de una dirección IP en la terminal

Para obtener la ubicación geográfica de su servidor, necesitará el descargador Curl y la herramienta de línea de comandos JQ. Esta herramienta le permitirá obtener y procesar los datos necesarios de las API de geolocalización de Internet. Siga estos pasos para instalar estas herramientas y luego obtenga la información de ubicación requerida utilizando la IP pública de su máquina.

Paso 1: instale los paquetes Curl y jq

Curl y jq están fácilmente disponibles a través del repositorio oficial de Ubuntu y se pueden instalar a través de la línea de comandos usando el comando apt-get.

Abra su aplicación Terminal a través de la búsqueda del Lanzador de aplicaciones del sistema o mediante el atajo Ctrl + Alt + T.

El siguiente paso es actualizar el índice de repositorio de su sistema a través del siguiente comando:

$ sudo apt-get update

Esto le ayuda a instalar la última versión disponible de un software de Internet.

Tenga en cuenta que solo un usuario autorizado puede agregar, eliminar y configurar software en Ubuntu.

Ahora está listo para instalar las herramientas necesarias; puede hacerlo ejecutando el siguiente comando como sudo:

$ sudo apt-get install curl jq

Es posible que el sistema le solicite la contraseña sudo y también le proporcionará una opción Y / n para continuar con la instalación. Enter Y y luego presione enter; el software se instalará en su sistema. Sin embargo, el proceso puede llevar algún tiempo dependiendo de la velocidad de Internet.

Paso 2: busque la IP pública de la máquina / servidor Ubuntu

Todos los servidores de Internet son reconocidos por direcciones IP públicas. Esta es la dirección IP asignada a su servidor directamente oa través de un enrutador de tráfico de red. Podemos recuperar esta IP de su máquina utilizando la API proporcionada por ipinfo.io.

Utilice lo siguiente curl comando para obtener su IP pública:

$ curl https://ipinfo.io/ip

La salida, borrosa aquí debido a problemas de privacidad, es la IP pública a través de la cual su servidor es reconocido en el mundo de Internet.

Paso 3: obtener la geolocalización basada en IP pública

Una vez que conozca su IP pública, puede realizar una solicitud a la API de ipvigilante.com para que le envíe la ubicación geográfica de sus servidores. Utilizar el curl comando mencionado a continuación para obtener los detalles de su ubicación, como:

  • Continente
  • País
  • Provincia del estado
  • Ciudad
  • Latitud y longitud
$ curl https://ipvigilante.com/<public-IP>

La información que obtiene es bastante detallada y cumple bien su propósito.

Utilice el script Bash para imprimir la ubicación geográfica

En lugar de seguir los pasos descritos anteriormente cada vez que tenga que verificar su ubicación geográfica, puede utilizar un bash guión que describiremos aquí. Con este bash script, puede automatizar su sistema para obtener los detalles geográficos de su servidor a través de un solo comando que ejecuta este script. Así es como puede hacerlo:

Abra un nuevo archivo de secuencia de comandos en uno de sus editores de texto favoritos. Usaremos el editor nano para abrir un archivo de script vacío con el nombre de geo_location.sh

$ nano geo_location.sh

En ese archivo vacío, agregue el siguiente script.

curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'

Propina: En lugar de escribir todo el script en su bash archivo, puede copiarlo desde aquí y pegarlo en la Terminal usando Ctrl + Shift + V, o usando la opción Pegar del menú contextual.

Ahora, salga del archivo a través del atajo Ctrl + X y guarde el archivo en el “Save búfer modificado? ” mensaje escribiendo Y y luego presionando enter.

Para hacer de este archivo un script ejecutable, ejecute el siguiente comando en su Terminal:

$ chmod +x geo_location.sh

Finalmente, ejecute este script de la siguiente manera:

$ ./geo_location.sh

Puede ver cómo este script imprime la latitud, la longitud, la ciudad y el nombre del país de su servidor de forma ordenada en la Terminal.

Si tiene que buscar la geolocalización de su servidor solo una vez, no es necesario que forme un bash texto. De lo contrario, el script automatizará todo el proceso cada vez que tenga que verificar la ubicación gráfica de su máquina Ubuntu en función de su IP pública.