Kā terminālā atrast Linux servera ģeogrāfisko atrašanās vietu


Šajā rakstā mēs parādīsim, kā atrast komandrindas attālās Linux sistēmas IP adreses ģeogrāfisko atrašanās vietu, izmantojot atvērtas API un vienkāršu bash skriptu.

Internetā katram serverim ir publiski vērsta IP adrese, kas tiek piešķirta tieši serverim vai caur maršrutētāju, kas uz šo serveri nosūta tīkla trafiku.

IP adreses nodrošina ērtu veidu, kā izsekot servera atrašanās vietu pasaulē, izmantojot divas noderīgas API, ko nodrošina ipinfo.io un ipvigilante.com, lai iegūtu pilsētu, štatu un valsti savienotu ar serveri.

Instalējiet Curl un jq

Lai iegūtu servera IP adreses ģeogrāfisko atrašanās vietu, mums jāinstalē čokurošanās komandrindas lejupielādētājs un jq komandrindas rīks, lai apstrādātu JSON datus no ģeolokācijas 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

Atrodiet servera publisko IP adresi

Lai iegūtu čokurošanās komandu, veiciet API pieprasījumu savam terminālim ipinfo.io, kā parādīts.

$ curl https://ipinfo.io/ip

Iegūstiet IP atrašanās vietas datus no API

Kad esat saņēmis servera publisko IP adresi, tagad varat pieprasīt ipvigilante.com API, lai ielādētu ģeogrāfiskās atrašanās vietas datus, izmantojot šo komandu. Pārliecinieties, ka ir aizstāts ar servera publisko IP.

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

Šos datus iegūstam no iepriekš minētās komandas.

Automatizējiet API izsaukumu, izmantojot Bash Script

Tagad, lai automatizētu API procesu, mēs izveidosim skriptu ar nosaukumu getipgeoloc.sh (jūs to varat nosaukt kā vēlaties), izmantojot jebkuru no iecienītākajiem komandrindas redaktoriem.

$ vim getipgeoloc.sh

Tad nokopējiet un ielīmējiet tajā šādu garo komandu.

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

Saglabājiet failu un izveidojiet skriptu izpildāmu ar šādu komandu.

$ chmod +x getipgeoloc.sh

Visbeidzot, palaidiet skriptu, lai iegūtu Linux IP ģeogrāfisko atrašanās vietu, kā parādīts nākamajā ekrānuzņēmumā.

$ ./getipgeoloc.sh

Iepriekš minētais skripts parāda pilsētas un valsts nosaukumu, kā arī aptuvenās platuma un garuma koordinātas.

Alternatīvi, jūs varat arī izpildīt iepriekš minēto komandu, nesaglabājot to skriptā, kā parādīts.

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

Jūs varētu vēlēties arī izlasīt šādus saistītos rakstus:

  1. 4 veidi, kā atrast servera publisko IP adresi Linux terminālā
  2. Uzziniet visas tiešraidē esošo IP adreses, kas savienotas ar tīklu tīklā Linux
  3. Atrodiet 10 populārākās IP adreses, kas piekļūst jūsu Apache tīmekļa serverim

Pagaidām tas ir viss! Šajā īsajā rakstā mēs parādījām, kā iegūt Linux IP ģeogrāfisko atrašanās vietu no termināla, izmantojot čokurošanās un jq komandas. Dalieties savās domās vai uzdodiet jautājumus, izmantojot zemāk esošo atsauksmju veidlapu.