Com obtenir la ubicació geogràfica del vostre sistema des d'un script Bash

Mapa del món amb concepte de connexió a Internet

Toria/Shutterstock.com



Podeu trobar la ubicació geogràfica d'un sistema Linux remot mitjançant API obertes i un script bash senzill. La geolocalització d'un servidor us pot ajudar a fer-ne un seguiment al món físic, assegurant-vos que els servidors es troben en punts d'accés regionals.

Cada servidor d'Internet té una cara pública adreça IP . Això s'assigna directament al servidor o s'assigna a un encaminador que envia trànsit a aquest servidor. Les adreces IP ens donen una pista sobre on es troba aquest servidor al món. Podem obtenir aquestes dades de geolocalització a través de dues API obertes, proporcionades per ipinfo.co i IP Vigilante i utilitzar-les per veure la ciutat, l'estat i el país associats a un servidor o un altre sistema remot. Això no us proporciona una ubicació GPS precisa; només us permet veure l'àrea general de l'adreça IP.





Connecteu-vos a un sistema remot

Executareu les ordres següents al servidor Linux o en altres sistemes remots que vulgueu geolocalitzar, de manera que primer haureu de connectar-vos al servidor i accedir-hi a un shell. Per exemple, potser connectar-se mitjançant SSH . Podeu executar les ordres al vostre sistema local per trobar-ne la ubicació, però probablement ja sabeu on sou!

Instal·leu curl i jq

Necessitem dues eines per accedir a l'API de geolocalització: |_+_| per fer peticions HTTP i |_+_| per processar les dades JSON que recuperem. Obriu un terminal i utilitzeu |_+_| per instal·lar aquestes eines en sistemes basats en Ubuntu o Debian. En altres distribucions de Linux, utilitzeu l'eina d'instal·lació de paquets de la vostra distribució de Linux.



|_+_|

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

També necessitem l'adreça IP pública del servidor abans de poder obtenir les dades de geolocalització. Utilitzeu |_+_| per fer una trucada a l'API a ipinfo.io a la finestra del terminal.

|_+_|

Obteniu dades d'ubicació de l'API

Ara que tenim la IP pública del servidor, podem fer una trucada a l'API d'ipvigilante.com per obtenir les dades de geolocalització. Substitueix |_+_| amb l'adreça que va tornar a l'ordre anterior.

|_+_|

sortida de l



Anunci

Fem una ullada més de prop a quines dades obtenim d'aquesta trucada:

metadades que mostren la informació de la ubicació

L'API retorna la ciutat, el país i el continent en què resideix el nostre servidor. També retorna les coordenades aproximades de latitud i longitud, per si volem dibuixar aquest servidor en un mapa interactiu. Utilitzarem latitud, longitud, nom_ciutat i nom_país al nostre script. El |_+_| L'ordre entén com processar les dades de l'API i extreure aquests quatre camps.

Creació d'un script per automatitzar la crida a l'API

Podem crear un script que agafi les dades de geolocalització i les escrigui en un fitxer en format CSV. Les dades s'escriuran en un fitxer anomenat |_+_| al |_+_| directori. Obriu el vostre editor preferit i creeu un script anomenat |_+_| . Inseriu el contingut de l'script que es mostra a continuació i assegureu-vos de substituir l'adreça IP per la vostra:

|_+_|

Deseu l'script i torneu al terminal. Feu que l'script sigui executable des del terminal, concedint el permís d'execució d'aquest fitxer.

|_+_|

Ara ja esteu preparat per provar-ho. Executeu |_+_| script i comproveu el contingut del fitxer de sortida:

|_+_|

executant l

Actualització de les dades de geolocalització una vegada al dia amb un treball Cron

Creem un treball cron per fer que el nostre servidor actualitzi la seva geolocalització i el desem en un fitxer una vegada al dia. El treball cron diari actualitza un fitxer anomenat |_+_| al |_+_| carpeta del servidor. Crear un treball cron de 24 hores és tan fàcil com posar el nostre script al |_+_| directori. Hem d'utilitzar l'ordre sudo per copiar el fitxer com a usuari root, per evitar problemes de permís. Executeu l'ordre següent per copiar |_+_| al |_+_| directori.

|_+_|Anunci

Aquests canvis són immediats i el nostre script s'executarà cada 24 hores per actualitzar el contingut del |_+_| dossier. Podem utilitzar aquestes dades per fer coses interessants, com ara traçar els nostres servidors en un mapa, així com combinar la geolocalització amb els registres de trànsit per veure en quin lloc del món es troben els nostres hotspots de servidors.

LLEGIR A SEGUENT
  • › Funcions i fórmules a Microsoft Excel: quina diferència hi ha?
  • › Què és la protecció contra caigudes MIL-SPEC?
  • › 5 llocs web que cada usuari de Linux hauria de marcar com a favorits
  • › La carpeta de l'ordinador és 40: com la Xerox Star va crear l'escriptori
  • › Com trobar el vostre Spotify embolicat 2021
  • & rsaquo; Cyber ​​Monday 2021: les millors ofertes tecnològiques
Foto de perfil de Taylor Gibb Taylor Gibb
Taylor Gibb és un desenvolupador de programari professional amb gairebé una dècada d'experiència. Va exercir com a director regional de Microsoft a Sud-àfrica durant dos anys i ha rebut diversos premis Microsoft MVP (Most Valued Professional). Actualment treballa en R+D a Derivco International.
Llegeix la biografia completa

Articles D'Interès