Každý server má veřejnou IP adresu, která je serveru přiřazena přímo přes router. Tuto veřejnou IP adresu lze použít k určení geolokace serveru, která zahrnuje informace, jako je kontinent, země a dokonce i odhadovaná zeměpisná šířka a délka serveru.
Existuje mnoho situací, kdy potřebujete určit geografickou polohu vzdáleného počítače se systémem Linux na základě jeho IP adresy. Možná víte, jak zjistit geolokaci serveru prostřednictvím webového prohlížeče, ale dnes se podíváme, jak ji najít pomocí terminálové aplikace v operačním systému Debian. V tomto článku vám řekneme, jak zjistit veřejnou IP adresu systému a poté získat jeho geolokaci pomocí dvou otevřených API ipinfo.io.
Geolokační informace lze využít několika způsoby. Některé případy použití jsou uvedeny níže:
- Kybernetická bezpečnost
- Digitální reklama
- Personalizace obsahu
- Geomarketing
- Vymáhání práva
Spustili jsme příkazy a procedury uvedené v tomto článku na Debianu 11.
Zobrazit geografickou polohu IP adresy na terminálu
Abyste získali geografickou polohu vašeho serveru, budete potřebovat Curl downloader a nástroj příkazového řádku JQ. Tento nástroj vám umožní získat a zpracovat požadovaná data z geolokačních API na internetu. Chcete-li nainstalovat tyto nástroje a poté načíst požadované informace o poloze pomocí veřejné IP vašeho počítače, postupujte podle těchto kroků.
Krok 1:Instalace curl a jq
Spusťte terminál ve vašem operačním systému Debian. Chcete-li to provést, přejděte na Aktivity v levém horním rohu plochy. Poté do vyhledávacího pole zadejte terminál . Když se zobrazí ikona Terminál, kliknutím na ni ji spusťte.
Přepněte se na účet superuživatele ve vašem operačním systému Debian pomocí následujícího příkazu v terminálu a poté zadejte požadované heslo.
$ su
Poté spusťte v Terminálu následující příkaz, abyste aktualizovali index úložiště vašeho systému:
$ apt-get update
Curl bude použit k vytváření požadavků HTTP a jq bude použit ke zpracování dat JSON z geolokačních API. Curl a jq jsou k dispozici v oficiálních repozitářích Debianu, takže je můžeme nainstalovat pomocí příkazu apt-get v Terminálu.
Spuštěním následujícího příkazu v Terminálu nainstalujte curl a jq:
$ apt get insntall curl jq
Systém vám poskytne A/n možnost pokračovat nebo zrušit proces instalace. Zadejte Y a poté stiskněte enter. Poté chvíli počkejte, než bude instalace výše uvedených nástrojů dokončena.
Krok 2:Najděte veřejnou IP adresu počítače/serveru Debian
Abychom našli údaje o zeměpisné poloze serveru, budeme potřebovat jeho veřejnou IP adresu. Je to adresa, která je vašemu serveru nebo routeru přidělena poskytovatelem internetových služeb. Všechny servery na internetu jsou rozpoznávány podle těchto IP adres. K načtení veřejné IP adresy použijeme rozhraní API poskytované ipinfo.io .
K volání API na ipinfo.io budeme muset použít příkaz curl . Chcete-li tak učinit, otevřete Terminál a spusťte následující příkaz:
$ curl https://ipinfo.io/ip
Výše uvedený výstup (zde rozmazaný kvůli obavám o soukromí) je veřejná IP serveru, přes který je připojen a je rozpoznán v internetovém světě.
Krok 3:Získejte geolokaci na základě veřejné IP adresy
Nyní máme veřejnou IP adresu serveru, nyní požádáme o ipinfo.io API pro načtení geolokačních dat serveru. K tomuto účelu použijeme příkaz curl. Získá následující podrobnosti:
- Kontinent
- Země
- Stát/provincie
- Město
- Zeměpisná šířka a délka
Provedením níže uvedeného příkazu v Terminálu načtěte geolokační data z ipinfo.io API pomocí curl:
$ curl https://ipinfo.io/<Public_IP>
Nahraďte
Alternativní poskytovatelé IP GeoLocation:
curl http://api.geoiplookup.net/?query=<Public_IP>
curl https://json.geoiplookup.io/<Public_IP>
Nahraďte
K tisku geografické polohy použijte skript Bash
Pokaždé, když musíte zkontrolovat geografickou polohu vašeho serveru, musíte provést všechny výše popsané kroky. Místo toho můžeme tento proces automatizovat vytvořením bash skriptu. Tento skript umožní načíst geografickou polohu vašeho serveru spuštěním pouze jednoho příkazu. Chcete-li vytvořit skript, postupujte podle následujících kroků.
Skript můžeme vytvořit pomocí libovolného textového editoru. Pro aktuální scénář používáme nano editor, takže napíšeme nano následovaný názvem skriptu (pojmenujte jej, jak chcete).
$ nano geolocation.sh
Poté zkopírujte a vložte následující řádek pomocí nabídky po kliknutí pravým tlačítkem.
$ curl -s https://ipinfo.io/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
Stiskněte Ctrl+o pro uložení skriptu a Ctrl+x pro ukončení
Nyní provedeme výše uvedený skript jako spustitelný tím, že mu udělíme oprávnění ke spustitelnému souboru. Chcete-li tak učinit, spusťte v Terminálu následující příkaz:
$ chmod +x geo_location.sh
Nyní jsme připraveni skript otestovat. Spuštěním následujícího příkazu v Terminálu spusťte skript.
$ ./geo_location.sh
Z výše uvedeného výstupu můžete vidět, že skript vytiskl zeměpisnou šířku, délku, město a název země úhledně do terminálu.
To je prozatím vše! Naučili jsme se, jak najít geografickou polohu serveru pomocí terminálu Debian. Geografická poloha IP poskytuje užitečné informace sestávající z názvu země, města, zeměpisné šířky a délky. Tyto informace můžete využít několika způsoby, jak je uvedeno výše v článku.