Com trobar la ubicació geogràfica del servidor Linux a la terminal


En aquest article, us mostrarem com trobar la ubicació geogràfica de l'adreça IP d'un sistema Linux remot mitjançant API obertes i un script bash senzill des de la línia d'ordres.

A Internet, cada servidor té una adreça IP pública, que s'assigna directament al servidor o mitjançant un encaminador que envia trànsit de xarxa a aquest servidor.

Les adreces IP proporcionen una manera fàcil de fer un seguiment de la ubicació del servidor al món mitjançant dues API útils proporcionades per ipinfo.io i ipvigilante.com per connectar la ciutat, l'estat i el país amb un servidor.

Instal·leu Curl i jq

Per obtenir la ubicació geogràfica de l'adreça IP del servidor, hem d'instal·lar el descarregador de línia d'ordres curl i l'eina de línia d'ordres jq per processar les dades JSON de les API de geolocalització.

$ 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

Cerqueu l'adreça IP pública del servidor

Per obtenir l'ordre curl per fer una sol·licitud d'API a ipinfo.io al vostre terminal, tal com es mostra.

$ curl https://ipinfo.io/ip

Obteniu dades d'ubicació IP de l'API

Un cop tingueu l'adreça IP pública del servidor, ara podeu fer una sol·licitud a l'API d'ipvigilante.com per obtenir les dades de geolocalització mitjançant l'ordre següent. Assegureu-vos de substituir per la IP pública del servidor.

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

Aquestes són les dades que obtenim de l'ordre anterior.

Automatitzeu la trucada a l'API mitjançant Bash Script

Ara, per automatitzar el procés de l'API, crearem un script anomenat getipgeoloc.sh (podeu anomenar-lo com vulgueu) utilitzant qualsevol dels vostres editors de línia d'ordres preferits.

$ vim getipgeoloc.sh

A continuació, copieu i enganxeu-hi l'ordre llarg següent.

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

Deseu el fitxer i feu que l'script sigui executable amb l'ordre següent.

$ chmod +x getipgeoloc.sh

Finalment, executeu l'script per obtenir la vostra ubicació geogràfica IP de Linux tal com es mostra a la captura de pantalla següent.

$ ./getipgeoloc.sh

L'script anterior mostra el nom de la ciutat i el país juntament amb les coordenades aproximades de latitud i longitud.

Alternativament, també podeu executar l'ordre anterior sense desar-lo en un script tal com es mostra.

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

També us agradaria llegir aquests articles relacionats següents:

  1. 4 maneres de trobar l'adreça IP pública del servidor al terminal Linux
  2. Descobriu totes les adreces IP dels hosts en directe connectades a la xarxa a Linux
  3. Cerca les 10 adreces IP principals per accedir al teu servidor web Apache

Això és tot de moment! En aquest breu article, hem mostrat com obtenir la vostra ubicació geogràfica IP de Linux des del terminal mitjançant les ordres curl i jq. Comparteix els teus pensaments amb nosaltres o fes qualsevol pregunta mitjançant el formulari de comentaris que hi ha a continuació.