Búsqueda de sitios web

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 obtener la ciudad, estado y país conectados a un servidor.

Instalar 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 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

Encuentre la dirección IP pública del servidor

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

curl https://ipinfo.io/ip

Obtenga 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 utilizando 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 API usando Bash Script

Ahora, para automatizar el proceso API, crearemos un script llamado getipgeoloc.sh (puedes nombrarlo como quieras) usando cualquiera de tus 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 del 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'

Quizás también te interese leer estos siguientes artículos relacionados:

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