Windows Tips & News

Obțineți informații de localizare geografică a adresei IP în Bash în Linux

click fraud protection
RECOMANDAT: Faceți clic aici pentru a remedia problemele Windows și pentru a optimiza performanța sistemului

Uneori trebuie să obțineți rapid informațiile de localizare geografică pentru o adresă IP. În Linux, puteți folosi puterea aplicațiilor de consolă pentru a vă economisi timp și pentru a prelua rapid aceste informații. Să vedem cum se poate face.

Publicitate


Pentru a obține informații despre locația geografică despre o anumită adresă IP, trebuie să utilizați un serviciu online care oferă API-ul corespunzător. Este o idee bună să folosiți un serviciu public pentru a evita procedura de autorizare și gestionarea cheilor API. Un astfel de serviciu este FreeGeoIP.net.

Oferă un API public HTTP pentru a căuta geolocalizarea adreselor IP. Utilizează o bază de date cu adrese IP care sunt asociate cu orașele, împreună cu alte informații relevante, cum ar fi fusul orar, latitudinea și longitudinea. Acest lucru este foarte util.

Serviciul poate oferi rezultate de căutare ca JSON sau XML. Deci, dacă combinăm curl cu un analizor JSON, putem obține informațiile necesare.

Voi folosi analizatorul meu JSON preferat, jq:

jq-in-reposEste foarte ușor și rapid.

Pentru cazul nostru, interogarea ar trebui să fie după cum urmează:

http://freegeoip.net/json/119.94.116.145

Porțiunea „json” de aici este formatul de date dorit. Pe lângă JSON, poate fi XML sau CSV.

Să rulăm interogarea cu curl și să vedem rezultatul:

geo-interogare-rawRezultatul este o ieșire JSON brută, care este greu de citit. Pentru a îmbunătăți aspectul setului de rezultate, să folosim instrumentul jq. Combinați-l cu bucle după cum urmează:

răsuci http://freegeoip.net/json/119.94.116.145|jq

Rezultatul va fi mai ușor de citit:geo-formatat-interogare

Folosind jq, puteți filtra rezultatul și îl puteți face să afișeze numai câmpurile necesare. Următoarea comandă va afișa numai numele țării, latitudinea și longitudinea:

răsuci http://freegeoip.net/json/119.94.116.145|jq -r „.nume_țară,.latitudine,.longitudine”

geo-interogare-filtratPuteți salva această comandă ca următorul script shell:

#!/bin/sh. curl -s http://freegeoip.net/json/$1|jq -r „.nume_țară,.latitudine,.longitudine”

Data viitoare când trebuie să obțineți informații de localizare geografică, puteți executa scriptul astfel:

./geo.sh adresa_IP

Asta e.

RECOMANDAT: Faceți clic aici pentru a remedia problemele Windows și pentru a optimiza performanța sistemului
Schimbați culoarea pictogramei folderului individual în Linux Mint

Schimbați culoarea pictogramei folderului individual în Linux Mint

RECOMANDAT: Faceți clic aici pentru a remedia problemele Windows și pentru a optimiza performanța...

Citeste mai mult

Arhivele de pictograme de schimbare a folderului Linux Mint

Acest site web folosește cookie-uri pentru a vă îmbunătăți experiența în timp ce navigați pe site...

Citeste mai mult

Linux Mint 20+ nu va suporta sisteme pe 32 de biți

Linux Mint 20+ nu va suporta sisteme pe 32 de biți

În urma deciziei similare luate de Canonical, proiectul Linux Mint va renunța la suportul pentru ...

Citeste mai mult