Cum să găsiți locația geografică a serverului Linux în terminal


În acest articol, vă vom arăta cum să găsiți locația geografică a adresei IP a unui sistem Linux la distanță folosind API-uri deschise și un script bash simplu din linia de comandă.

Pe internet, fiecare server are o adresă IP publică, care este atribuită direct serverului sau printr-un router care trimite trafic de rețea către acel server.

Adresele IP oferă o modalitate ușoară de a urmări locația serverului în lume, folosind două API-uri utile furnizate de ipinfo.io și ipvigilante.com pentru a obține oraș, stat și țara conectate cu un server.

Instalați Curl și jq

Pentru a obține locația geografică a adresei IP a serverului, trebuie să instalăm instrumentul de descărcare a liniei de comandă curl și instrumentul de linie de comandă jq pentru a procesa datele JSON din API-urile de localizare geografică.

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

Găsiți adresa IP publică a serverului

Pentru a obține adresa IP publică a serverului, utilizați următoarea comandă curl pentru a face o solicitare API către ipinfo.io în terminalul dvs., așa cum se arată.

curl https://ipinfo.io/ip

Obțineți date despre locația IP din API

Odată ce ați obținut adresa IP publică a serverului, acum puteți face o solicitare către API-ul ipvigilante.com pentru a prelua datele de localizare geografică folosind următoarea comandă. Asigurați-vă că înlocuiți cu IP-ul public al serverului.

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

Acestea sunt datele pe care le obținem din comanda de mai sus.

Automatizați apelul API folosind Scriptul Bash

Acum, pentru a automatiza procesul API, vom crea un script numit getipgeoloc.sh (puteți denumi orice doriți) folosind oricare dintre editorii dumneavoastră de linie de comandă preferati.

vim getipgeoloc.sh

Apoi copiați și lipiți următoarea comandă lungă în ea.

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

Salvați fișierul și faceți scriptul executabil cu următoarea comandă.

chmod +x getipgeoloc.sh

În cele din urmă, rulați scriptul pentru a obține locația dvs. geografică IP Linux, așa cum se arată în următoarea captură de ecran.

./getipgeoloc.sh

Scriptul de mai sus arată numele orașului și țara împreună cu coordonatele aproximative de latitudine și longitudine.

Alternativ, puteți rula și comanda de mai sus fără a o salva într-un script, așa cum se arată.

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

De asemenea, v-ar putea dori să citiți următoarele articole conexe:

  1. 4 moduri de a găsi adresa IP publică a serverului în terminalul Linux
  2. Aflați toate adresele IP ale gazdelor live conectate în rețea în Linux
  3. Găsiți primele 10 adrese IP care accesează serverul dvs. web Apache

Atât deocamdată! În acest scurt articol, am arătat cum să obțineți locația dvs. geografică IP Linux de la terminal folosind comenzile curl și jq. Împărtășiți-vă gândurile cu noi sau adresați-vă întrebări prin intermediul formularului de feedback de mai jos.