Pridobite geografsko lokacijo naslova IP s terminala

približno pridobite geografsko lokacijo IP s terminala

V naslednjem članku si bomo ogledali, kako lahko pridobite geografsko lokacijo našega javnega naslova IP. To bomo lahko storili z odprtimi API-ji in preprostim bash skriptom, vse s terminala Ubuntu. Danes imajo vse naprave, povezane z internetom, IP, ki je bil njihov svetovni identifikator. Ta naslov bomo uporabili za določitev vaše lokacije.

Ko brskamo po internetu, vsak strežnik ima javni naslov IP, ta se dodeli neposredno strežniku ali prek usmerjevalnika, ki temu strežniku pošilja omrežni promet. Naslovi IP omogočajo enostaven način sledenja geografski lokaciji strežnika na svetu. To lahko dosežemo z uporabo dveh API-jev, ki jih ponuja ipinfo.io e ipvigilante.com s katero bomo lahko dobili državo strežnika, ime mesta in njegove geografske koordinate.

dobite svoj javni ali zasebni naslov IP
Povezani članek:
Pridobite svoj javni ali zasebni naslov IP v Gnu / Linux

V naslednjih vrsticah bomo videli, kako pojdi geografski položaj IP s terminala, ki nam pomaga pri curl in jq. Glavni namen in uporaba za cURL je avtomatizirati prenose datotek ali nenadzorovana zaporedja operacij, medtem ko jq je zelo funkcionalen jezik na visoki ravni s podporo za povratno sledenje in upravljanje podatkovnih tokov JSON.

Geografska lokacija IP s terminala

Namestite Curl in jq

Da bi dobili geografsko lokacijo naslova IP, bomo morali namestite curl in jq orodje ukazne vrstice za obdelavo podatkov JSON, pridobljenih iz API-jev za geolokacijo. Če želite namestiti oboje, morate v terminal (Ctrl + Alt + T) napisati ukaz:

namestite curl in jq

sudo apt install curl jq

Pridobite javni naslov IP strežnika

Preden dobite lokacijo, jo morate vedeti javni naslov IP strežnika, na katerega se povezujemo. Za to bomo uporabili naslednji ukaz cURL, s katerim bomo podali zahtevo ipinfo.io s terminala (Ctrl + Alt + T), kot je prikazano spodaj:

javni ip, pridobljen s curl in ipinfo.io

curl https://ipinfo.io/ip

Z API-jem pridobite podatke o geografski lokaciji IP-ja vašega sistema

Po izvedbi prejšnjega ukaza bomo dobili javni naslov IP. Ko ga bomo imeli, bomo lahko oddajte zahtevo na ipvigilante.com za pridobitev podatkov o geolokaciji. Za to bomo v terminalu uporabili naslednji ukaz (Ctrl + Alt + T). Pomembno je, da nadomestite javni IP s tistim, pridobljenim s prejšnjim ukazom.

geografska lega IP, pridobljenega z ipvigilante

curl https://ipvigilante.com/la-dirección-IP

Avtomatizirajte klic API z uporabo skripte Bash

Za avtomatizacijo komunikacijskega procesa z API-jem se bomo lotili ustvari skript v datoteki z imenom ipgeolocator.sh (ime ni obvezno). Za njegovo ustvarjanje bomo lahko uporabili kateri koli urejevalnik za ukazno vrstico, s katerim se vsak počuti najbolj udobno.

vim ipgeolocalizador.sh

Ko se urejevalnik odpre, morate preprosto prilepite vrstico prikazano spodaj:

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

Ko jo prilepite, morate samo shraniti datoteko in zapreti urejevalnik. Po tem bo treba naredite skript izvršljiv. To bomo storili tako, da bomo v isti terminal zapisali:

chmod +x ipgeolocalizador.sh

V tem trenutku lahko zaženite skript, kot sledi, da dobite geolokacijo IP-ja javnega:

geografska lokacija IP z bash

./ipgeolocalizador.sh

Zgornji skript prikazuje ime mesta in države ter približne koordinate zemljepisne širine in dolžine. Resnica je taka Ne poznam napake, ki bi jo lahko imela.

Če zgornjega dolgega ukaza ne želite shraniti v datoteko, isti isti ukaz lahko zaženete tudi neposredno v terminalu (Ctrl + Alt + T):

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

V tem kratkem članku smo videli, kako pridobite geolokacijo IP-ja iz Ubuntuja z uporabo ukazov terminal in curl ter jq. Lahko dobite več informacij o jq ali približno cURL v ustreznih člankih na Wikipediji.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.