Kuidas leida Linuxi serveri geograafilist asukohta terminalis


Selles artiklis me näitame teile, kuidas leida Linuxi kaugsüsteemi IP-aadressi geograafiline asukoht käsurealt avatud API-de ja lihtsa bash-skripti abil.

Internetis on igal serveril avalikkusele suunatud IP-aadress, mis määratakse otse serverile või ruuteri kaudu, mis saadab sellele serverile võrguliikluse.

IP-aadressid võimaldavad hõlpsalt jälgida serveri asukohta maailmas, kasutades kahte kasulikku API-d, mille pakuvad ipinfo.io ja ipvigilante.com, et saada linn, osariik ja riik serveriga ühendatud.

Installige Curl ja jq

Serveri IP-aadressi geograafilise asukoha saamiseks peame JSON-i andmete töötlemiseks geolokatsiooni API-dest installima curl käsurea allalaadija ja jq käsurea tööriista.

$ 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

Leidke serveri avalik IP-aadress

Curl käsu saamiseks tehke oma terminalis ipinfo.io API taotlus, nagu näidatud.

$ curl https://ipinfo.io/ip

Hankige IP-asukohaandmed API-lt

Kui olete saanud serveri avaliku IP-aadressi, saate nüüd esitada järgmise käsu abil taotluse ipvigilante.com API-le geolokatsiooniandmete toomiseks. Asendage kindlasti serveri avaliku IP-ga.

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

Need on andmed, mida saame ülaltoodud käsust.

Automatiseerige API-kõne Bashi skripti abil

Nüüd loome API-protsessi automatiseerimiseks skripti nimega getipgeoloc.sh (võite selle nimetada mis iganes soovite), kasutades mis tahes oma lemmik käsurea redaktorit.

$ vim getipgeoloc.sh

Seejärel kopeerige ja kleepige sinna järgmine pikk käsk.

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

Salvestage fail ja tehke skript järgmise käsuga käivitatavaks.

$ chmod +x getipgeoloc.sh

Lõpuks käivitage skript, et saada oma Linuxi IP geograafiline asukoht, nagu on näidatud järgmisel ekraanipildil.

$ ./getipgeoloc.sh

Ülaltoodud skript näitab linna ja riigi nime koos ligikaudsete laius- ja pikkuskraadide koordinaatidega.

Teise võimalusena võite ülaltoodud käsu käivitada ka skripti salvestamata, nagu näidatud.

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

Samuti võiksite lugeda järgmisi seotud artikleid:

  1. 4 viisi serveri avaliku IP-aadressi leidmiseks Linuxi terminalist
  2. Uurige välja kõik Linuxi võrgus ühendatud Live-hostide IP-aadressid
  3. Leidke kümme peamist Apache'i veebiserverile juurdepääsu IP-aadressi

Praegu on see kõik! Selles lühikeses artiklis oleme näidanud, kuidas käskude curl ja jq abil saada terminalist oma Linuxi IP geograafiline asukoht. Jagage oma mõtteid meiega või küsige küsimusi allpool oleva tagasisidevormi kaudu.