Vyhledávání na webu

Jak najít geografickou polohu serveru Linux v terminálu


V tomto článku vám ukážeme, jak zjistit geografickou polohu IP adresy vzdáleného systému Linux pomocí otevřených API a jednoduchého bash skriptu z příkazového řádku.

Na internetu má každý server veřejnou IP adresu, která je přiřazena přímo serveru nebo prostřednictvím routeru, který na tento server posílá síťový provoz.

IP adresy poskytují snadný způsob, jak sledovat polohu serveru ve světě pomocí dvou užitečných rozhraní API poskytovaných ipinfo.io a ipvigilante.com, abyste získali město, stát a země připojené k serveru.

Nainstalujte Curl a jq

Abychom získali geografickou polohu IP adresy serveru, musíme nainstalovat nástroj pro stahování příkazového řádku curl a nástroj příkazového řádku jq ke zpracování dat 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

Najděte veřejnou IP adresu serveru

Chcete-li získat veřejnou IP adresu serveru, použijte následující příkaz curl k vytvoření požadavku API na ipinfo.io ve vašem terminálu, jak je znázorněno.

curl https://ipinfo.io/ip

Získejte data o poloze IP z API

Jakmile získáte veřejnou IP adresu serveru, můžete nyní pomocí následujícího příkazu požádat rozhraní API ipvigilante.com o načtení geolokačních dat. Nezapomeňte nahradit veřejnou IP adresou serveru.

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

Toto jsou data, která získáme z výše uvedeného příkazu.

Automatizujte volání API pomocí skriptu Bash

Nyní, abychom zautomatizovali proces API, vytvoříme skript nazvaný getipgeoloc.sh (můžete si jej pojmenovat, jak chcete) pomocí libovolného z vašich oblíbených editorů příkazového řádku.

vim getipgeoloc.sh

Poté do něj zkopírujte a vložte následující dlouhý pří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 soubor a vytvořte skript spustitelný pomocí následujícího příkazu.

chmod +x getipgeoloc.sh

Nakonec spusťte skript, abyste získali geografickou polohu IP systému Linux, jak je znázorněno na následujícím snímku obrazovky.

./getipgeoloc.sh

Výše uvedený skript zobrazuje název města a země spolu s přibližnými souřadnicemi zeměpisné šířky a zeměpisné délky.

Případně můžete také spustit výše uvedený příkaz, aniž byste jej uložili do skriptu, jak je znázorněno.

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

Můžete si také přečíst následující související články:

  1. 4 způsoby, jak najít veřejnou IP adresu serveru v terminálu Linux
  2. Zjistěte všechny IP adresy živých hostitelů připojené k síti v systému Linux
  3. Najděte 10 nejlepších IP adres pro přístup k vašemu webovému serveru Apache

To je prozatím vše! V tomto krátkém článku jsme si ukázali, jak získat geografickou polohu IP systému Linux z terminálu pomocí příkazů curl a jq. Podělte se s námi o své myšlenky nebo se zeptejte na jakékoli dotazy prostřednictvím formuláře pro zpětnou vazbu níže.