Kaip rasti Linux serverio geografinę vietą terminale


Šiame straipsnyje parodysime, kaip rasti nuotolinės Linux sistemos IP adreso geografinę vietą naudojant atviras API ir paprastą bash scenarijų iš komandinės eilutės.

Internete kiekvienas serveris turi viešą IP adresą, kuris yra priskirtas tiesiogiai serveriui arba per maršruto parinktuvą, kuris siunčia tinklo srautą į tą serverį.

IP adresai suteikia paprastą būdą sekti serverio vietą pasaulyje naudojant dvi naudingas API, kurias teikia ipinfo.io ir ipvigilante.com, kad gautumėte miestas, valstybė ir šalis, prijungtas prie serverio.

Įdiekite Curl ir jq

Norėdami gauti IP adreso geografinę serverio vietą, turime įdiegti curl komandų eilutės atsisiuntimo programą ir komandų eilutės įrankį jq, kad apdorotų 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 viešąjį serverio IP adresą, naudokite šią curl komandą, kad savo terminale pateiktumėte API užklausą ipinfo.io, kaip parodyta.

curl https://ipinfo.io/ip

Gaukite IP vietos duomenis iš API

Kai gausite serverio viešąjį IP adresą, dabar galite pateikti užklausą ipvigilante.com API, kad gautų geografinės vietos duomenis, naudodami šią komandą. Būtinai pakeiskite serverio viešuoju IP.

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

Tai yra duomenys, kuriuos gauname iš aukščiau pateiktos komandos.

Automatizuokite API skambutį naudodami „Bash Script“.

Dabar, norėdami automatizuoti API procesą, sukursime scenarijų, pavadintą getipgeoloc.sh (galite pavadinti jį kaip tik norite), naudodami bet kurią mėgstamą komandų eilutės redaktorių.

vim getipgeoloc.sh

Tada nukopijuokite ir įklijuokite į ją š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ų vykdytiną naudodami šią komandą.

chmod +x getipgeoloc.sh

Galiausiai paleiskite scenarijų, kad gautumėte savo Linux IP geografinę vietą, kaip parodyta toliau pateiktoje ekrano kopijoje.

./getipgeoloc.sh

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

Arba taip pat galite paleisti aukščiau pateiktą 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ėsite perskaityti šiuos susijusius straipsnius:

  1. 4 būdai rasti serverio viešąjį IP adresą Linux terminale
  2. Sužinokite visus „Live Hosts“ IP adresus, prijungtus prie tinklo sistemoje „Linux“.
  3. Raskite 10 populiariausių IP adresų, kurie pasiekia jūsų „Apache“ žiniatinklio serverį

Tai kol kas! Šiame trumpame straipsnyje parodėme, kaip gauti Linux IP geografinę vietą iš terminalo naudojant komandas curl ir jq. Pasidalykite savo mintimis su mumis arba užduokite klausimų naudodami toliau pateiktą atsiliepimų formą.