Cum de a găsi Linux Server Locația geografică în Terminal


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

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

Adresele IP oferă o modalitate ușoară de a urmări locația serverului din lume utilizând două API-uri utile furnizate de ipinfo.io și ipvigilante.com pentru a obține oraș , state și țară conectate la un server.

Instalați Curl și jq

Pentru a obține adresa IP a locației geografice a serverului, trebuie să instalați instrumentul de descărcare a liniei de comandă curl și instrumentul de comandă jq pentru a procesa datele JSON din API-urile de localizare.

$ 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 efectua o cerere API la ipinfo.io în terminal, după cum se arată.

$ curl https://ipinfo.io/ip

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

Odată ce ați obținut adresa IP publică a serverului, puteți face acum o solicitare pentru API-ul ipvigilante.com pentru a prelua datele de localizare utilizând următoarea comandă. Asigurați-vă că înlocuiți & lt; adresa IP & gt; cu adresa IP publică a serverului.

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

Acestea sunt datele obținute de la comanda de mai sus.

Automatizați apelul API folosind Bash Script

Acum, pentru a automatiza procesul API, vom crea un script numit getipgeoloc.sh (puteți numi orice doriți) utilizând oricare dintre editoarele dvs. de linie de comandă preferate.

$ vim getipgeoloc.sh

Apoi, copiați și inseraț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ă, executați scriptul pentru a obține locația geografică a IP-ului Linux așa cum se arată în următoarea imagine.

$ ./getipgeoloc.sh

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

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

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

Ați putea dori, de asemenea, să citiți următoarele articole înrudite:

  1. 4 Ways to Find Server Public IP Address in Linux Terminal
  2. Find Out All Live Hosts IP Addresses Connected on Network in Linux
  3. Find Top 10 IP Addresses Accessing Your Apache Web Server

Atât deocamdată! În acest scurt articol, am arătat cum să obțineți locația geografică IP din Linux folosind terminalul curl și jq . Împărtășiți-vă gândurile sau trimiteți-ne întrebări prin formularul de feedback de mai jos.