A volte è necessario ottenere rapidamente le informazioni di geolocalizzazione per un indirizzo IP. In Linux, puoi utilizzare la potenza delle app della console per risparmiare tempo e recuperare rapidamente queste informazioni. Vediamo come si può fare.
Pubblicità
Per ottenere le informazioni di geolocalizzazione su un indirizzo IP specifico, è necessario utilizzare alcuni servizi online che forniscono l'API appropriata. È una buona idea utilizzare qualche servizio pubblico per evitare la procedura di autorizzazione e la gestione delle chiavi API. Uno di questi servizi è FreeGeoIP.net.
Fornisce un'API HTTP pubblica per cercare la geolocalizzazione degli indirizzi IP. Utilizza un database di indirizzi IP associati alle città insieme ad altre informazioni rilevanti come fuso orario, latitudine e longitudine. Questo è molto utile.
Il servizio può fornire risultati di ricerca come JSON o XML. Quindi, se combiniamo curl con un parser JSON, possiamo ottenere le informazioni richieste.
come cancellare una chat su discord
Userò il mio parser JSON preferito, jq:
È molto leggero e veloce.
Nel nostro caso, la query dovrebbe essere la seguente:
http://freegeoip.net/json/119.94.116.145
La parte 'json' qui è il formato dati desiderato. Oltre a JSON, può essere XML o CSV.
Eseguiamo la query con curl e vediamo l'output:
Il risultato è un output JSON grezzo che è difficile da leggere. Per migliorare l'aspetto del set di risultati, usiamo lo strumento jq. Combinalo con il ricciolo come segue:
curl http://freegeoip.net/json/119.94.116.145|jq
L'output sarà più facile da leggere:
Usando jq, puoi filtrare l'output e fargli mostrare solo i campi obbligatori. Il comando seguente mostrerà solo il nome del paese, la latitudine e la longitudine:
curl http://freegeoip.net/json/119.94.116.145|jq -r '.country_name, .latitude, .longitude'
È possibile salvare questo comando come il seguente script di shell:
#! / bin / sh curl -s http://freegeoip.net/json/|jq -r '.country_name, .latitude, .longitude'
La prossima volta che avrai bisogno di ottenere informazioni di geolocalizzazione, puoi eseguire lo script in questo modo:
./geo.sh IP_address
Questo è tutto.