Ako nájsť geografickú polohu servera Linux v termináli


V tomto článku vám ukážeme, ako nájsť geografickú polohu IP adresy vzdialeného systému Linux pomocou otvorených API a jednoduchého bash skriptu z príkazového riadku.

Na internete má každý server verejnú IP adresu, ktorá je pridelená priamo serveru alebo prostredníctvom smerovača, ktorý na tento server posiela sieťovú prevádzku.

Adresy IP poskytujú jednoduchý spôsob sledovania polohy servera vo svete pomocou dvoch užitočných rozhraní API, ktoré poskytujú ipinfo.io a ipvigilante.com na získanie mesto, štát a krajina pripojené k serveru.

Nainštalujte Curl a jq

Aby sme získali IP adresu geografickú polohu servera, musíme nainštalovať curl príkazový riadok downloader a jq nástroj príkazového riadka na spracovanie údajov JSON z geolokačných 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

Nájdite verejnú IP adresu servera

Ak chcete získať verejnú IP adresu servera, pomocou nasledujúceho príkazu curl vytvorte požiadavku API na ipinfo.io vo vašom termináli, ako je znázornené.

curl https://ipinfo.io/ip

Získajte údaje o polohe IP z rozhrania API

Keď získate verejnú IP adresu servera, môžete pomocou nasledujúceho príkazu požiadať rozhranie API ipvigilante.com o načítanie údajov o geolokácii. Nezabudnite nahradiť verejnou adresou IP servera.

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

Toto sú údaje, ktoré získame z vyššie uvedeného príkazu.

Automatizujte volanie API pomocou skriptu Bash

Teraz, aby sme zautomatizovali proces API, vytvoríme skript s názvom getipgeoloc.sh (môžete si ho pomenovať akokoľvek) pomocou ľubovoľného z vašich obľúbených editorov príkazového riadka.

vim getipgeoloc.sh

Potom do nej skopírujte a prilepte nasledujúci dlhý príkaz.

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

Uložte súbor a vytvorte spustiteľný skript pomocou nasledujúceho príkazu.

chmod +x getipgeoloc.sh

Nakoniec spustite skript, aby ste získali geografickú polohu IP systému Linux, ako je znázornené na nasledujúcom obrázku.

./getipgeoloc.sh

Vyššie uvedený skript zobrazuje názov mesta a krajiny spolu s približnými súradnicami zemepisnej šírky a zemepisnej dĺžky.

Prípadne môžete vyššie uvedený príkaz spustiť aj bez jeho uloženia v skripte, ako je znázornené.

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

Možno by ste si chceli prečítať aj tieto súvisiace články:

  1. 4 spôsoby, ako nájsť verejnú IP adresu servera v termináli Linux
  2. Zistite všetky IP adresy živých hostiteľov pripojených k sieti v systéme Linux
  3. Nájdite 10 najlepších adries IP s prístupom k vášmu webovému serveru Apache

To je nateraz všetko! V tomto krátkom článku sme si ukázali, ako získať geografickú polohu IP systému Linux z terminálu pomocou príkazov curl a jq. Podeľte sa s nami o svoje myšlienky alebo sa opýtajte na akékoľvek otázky prostredníctvom formulára spätnej väzby nižšie.