Cum să obțineți locația geografică a sistemului dvs. dintr-un script Bash

Configurare noua (How To)

Situatie

Puteți găsi locația geografică a unui sistem Linux la distanță folosind API-uri deschise și un script simplu de bash. Geolocarea unui server vă poate ajuta să îl urmăriți în lumea fizică, asigurându-vă că serverele sunt situate în hotspot-uri regionale.

Solutie

Pasi de urmat

Conectați-vă la un sistem la distanță

Veți executa următoarele comenzi pe serverul Linux sau pe alte sisteme la distanță pe care doriți să le localizați, deci trebuie să vă conectați la server și să accesați mai întâi o coajă pe acesta. De exemplu, s-ar putea să vă conectați prin SSH. Puteți rula comenzile de pe sistemul dvs. local pentru a găsi locația, dar probabil că deja știți unde vă aflați!

Instalați curl și jq
Avem nevoie de două instrumente pentru a accesa API-ul geolocation: curl pentru a face cereri HTTP și jq pentru a procesa datele JSON pe care le primim înapoi. Deschideți un terminal și folosiți apt-get pentru a instala aceste instrumente pe sistemele Ubuntu sau Debian. În cazul altor distribuții Linux, utilizați în schimb instrumentul de instalare a pachetelor distribuției Linux.

 

sudo apt-get install curl jq

Găsiți adresa IP publică a serverului

De asemenea, avem nevoie de adresa IP publică a serverului înainte de a putea obține datele de geolocație. Utilizați curl pentru a efectua un apel API la ipinfo.io în fereastra terminalului.

curl https://ipinfo.io/ip

Obțineți date despre locație din API

Acum, dacă avem IP-ul public al serverului, putem apela API-ul ipvigilante.com pentru a obține datele de geolocație. Înlocuiți <adresa IP> cu adresa care a revenit în comanda anterioară.

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

 

Să aruncăm o privire mai atent la datele pe care le primim din acest apel:

 

API returnează orașul, țara și continentul în care locuiește serverul nostru. De asemenea, returnează coordonatele aproximative latitudine și longitudine, în cazul în care dorim să desenați acest server pe o hartă interactivă. Vom folosi “latitudine”, “longitudine”, “nume oraș” și “country_name” în scriptul nostru. Comanda jq înțelege modul de procesare a datelor API și extrage aceste patru câmpuri.

Tip solutie

Permanent

Voteaza

(5 din 13 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?