Kaip rasti „Linux Server“ geografinę vietą terminale


Šiame straipsnyje mes jums parodysime, kaip rasti komandinės eilutės nuotolinės „Linux“ sistemos IP adresą geografinę vietą naudojant atviras API ir paprastą „bash“ scenarijų.

Internete kiekvienas serveris turi viešai nukreiptą IP adresą, kuris priskiriamas tiesiogiai serveriui arba per maršrutizatorių, kuris siunčia tinklo srautą į tą serverį.

IP adresai yra paprastas būdas stebėti serverio vietą pasaulyje, naudojant dvi naudingas API, kurias teikia ipinfo.io ir ipvigilante.com, kad miestas, valstija ir šalis būtų prijungti prie serverio.

Įdiekite „Curl“ ir „jq“

Norėdami gauti IP adreso geografinę serverio vietą, turime įdiegti „curl“ komandų eilutės atsisiuntimo programą ir „jq“ komandinės eilutės įrankį, kad galėtume apdoroti JSON duomenis iš geografinės vietos API.

$ 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

Raskite serverio viešąjį IP adresą

Norėdami gauti „curl“ komandą, pateikite API užklausą „ipinfo.io“ savo terminale, kaip parodyta.

$ curl https://ipinfo.io/ip

Gaukite IP vietos duomenis iš API

Gavę viešąjį serverio IP adresą, dabar galite pateikti užklausą ipvigilante.com API gauti geografinės vietos duomenis naudodami šią komandą. Būtinai pakeiskite į viešąjį serverio IP.

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

Tai yra duomenys, kuriuos gauname iš pirmiau nurodytos komandos.

Automatizuokite API skambutį naudodami „Bash Script“

Dabar, norėdami automatizuoti API procesą, sukursime scenarijų, pavadintą getipgeoloc.sh (galite jį pavadinti bet kuo), naudodami bet kurį iš mėgstamiausių komandų eilutės redaktorių.

$ vim getipgeoloc.sh

Tada nukopijuokite ir įklijuokite šią ilgą komandą.

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

Išsaugokite failą ir padarykite scenarijų vykdomu naudodami šią komandą.

$ chmod +x getipgeoloc.sh

Galiausiai paleiskite scenarijų, kad gautumėte „Linux“ IP geografinę vietą, kaip parodyta kitoje ekrano kopijoje.

$ ./getipgeoloc.sh

Pirmiau pateiktame scenarijuje rodomas miesto ir šalies pavadinimas kartu su apytikslėmis platumos ir ilgumos koordinatėmis.

Arba taip pat galite paleisti aukščiau nurodytą komandą, neišsaugodami jos scenarijuje, kaip parodyta.

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

Taip pat galbūt norėtumėte perskaityti šiuos susijusius straipsnius:

  1. 4 būdai, kaip rasti serverio viešąjį IP adresą „Linux“ terminale
  2. Sužinokite visus „Linux“ tinkle prijungtus tiesioginių šeimininkų IP adresus
  3. Suraskite 10 populiariausių IP adresų, pasiekiančių „Apache“ tinklo serverį

Kol kas tiek! Šiame trumpame straipsnyje mes parodėme, kaip gauti „Linux“ IP geografinę vietą iš terminalo naudojant „curl“ ir „jq“ komandas. Pasidalykite savo mintimis su mumis arba užduokite klausimų naudodamiesi toliau pateikta atsiliepimų forma.