Kako pronaći geografsku lokaciju Linux servera u terminalu


U ovom članku ćemo vam pokazati kako pronaći geografsku lokaciju IP adrese udaljenog Linux sistema koristeći otvorene API-je i jednostavnu bash skriptu iz komandne linije.

Na internetu, svaki server ima javnu IP adresu, koja se dodjeljuje direktno serveru ili putem rutera koji šalje mrežni promet tom serveru.

IP adrese pružaju jednostavan način za praćenje lokacije servera u svijetu korištenjem dva korisna API-ja koje pružaju ipinfo.io i ipvigilante.com za povezivanje grada, države i zemlje sa serverom.

Instalirajte Curl i jq

Da bismo dobili geografsku lokaciju IP adrese servera, moramo instalirati curl program za preuzimanje komandne linije i jq alat za naredbenu liniju za obradu JSON podataka iz API-ja geolokacije.

$ 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

Pronađite javnu IP adresu servera

Da biste dobili naredbu curl da napravite API zahtjev za ipinfo.io u vašem terminalu kao što je prikazano.

$ curl https://ipinfo.io/ip

Dobijte podatke o IP lokaciji iz API-ja

Nakon što dobijete javnu IP adresu servera, sada možete uputiti zahtjev API-ju ipvigilante.com da dohvati podatke o geolokaciji koristeći sljedeću naredbu. Obavezno zamijenite javnom IP-om servera.

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

Ovo su podaci koje dobijamo iz gornje naredbe.

Automatizirajte API poziv koristeći Bash Script

Sada da bismo automatizirali API proces, kreirat ćemo skriptu pod nazivom getipgeoloc.sh (možete je imenovati kako god želite) koristeći bilo koji od vaših omiljenih uređivača komandne linije.

$ vim getipgeoloc.sh

Zatim kopirajte i zalijepite sljedeću dugu naredbu u njega.

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

Sačuvajte datoteku i učinite skriptu izvršnom pomoću sljedeće naredbe.

$ chmod +x getipgeoloc.sh

Konačno, pokrenite skriptu da dobijete svoju Linux IP geografsku lokaciju kao što je prikazano na sljedećem snimku ekrana.

$ ./getipgeoloc.sh

Gornja skripta prikazuje naziv grada i zemlje zajedno sa približnim koordinatama geografske širine i dužine.

Alternativno, također možete pokrenuti gornju naredbu bez spremanja u skriptu kao što je prikazano.

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

Možda biste željeli pročitati i sljedeće povezane članke:

  1. 4 načina da pronađete javnu IP adresu servera u Linux terminalu
  2. Saznajte sve IP adrese hostova uživo povezane na mrežu u Linuxu
  3. Pronađite top 10 IP adresa koje pristupaju vašem Apache web serveru

To je to za sada! U ovom kratkom članku pokazali smo kako da dobijete svoju Linux IP geografsku lokaciju sa terminala pomoću naredbi curl i jq. Podijelite svoje mišljenje s nama ili postavite pitanje putem obrasca za povratne informacije ispod.