Ottieni la posizione geografica dell'indirizzo IP dal terminale

per ottenere la posizione geografica di un IP dal terminale

Nel prossimo articolo daremo un'occhiata a come possiamo ottenere la posizione geografica del nostro indirizzo IP pubblico. Saremo in grado di farlo tramite API aperte e un semplice script bash, tutto dal terminale Ubuntu. Oggi tutti i dispositivi connessi a Internet hanno un IP, che è stato il loro identificatore nel mondo. Questo indirizzo è quello che useremo per ottenere la tua posizione.

Quando navighiamo in Internet, ogni server ha un indirizzo IP pubblico, questo viene assegnato direttamente al server o tramite un router che invia il traffico di rete a quel server. Gli indirizzi IP forniscono un modo semplice per monitorare la posizione geografica del server nel mondo. Ciò può essere ottenuto utilizzando due API fornite da ipinfo.io e ipvigilante.com con il quale potremo ottenere il paese del server, il nome della città e le sue coordinate geografiche.

ottenere il tuo indirizzo IP pubblico o privato
Articolo correlato:
Ottieni il tuo indirizzo IP pubblico o privato in Gnu / Linux

Nelle righe seguenti vedremo come ottenere la posizione geografica di un IP dal terminale aiutandoci con curl e jq. Lo scopo principale e l'uso per cURL è automatizzare i trasferimenti di file o sequenze di operazioni senza supervisione, mentre jq è un linguaggio funzionale di altissimo livello con supporto per il backtracking e la gestione dei flussi di dati JSON.

Posizione geografica di un IP dal terminale

Installa Curl e jq

Per ottenere la posizione geografica dell'indirizzo IP, dovremo installare curl e jq strumento da riga di comando per elaborare i dati JSON ottenuti dalle API di geolocalizzazione. Per installarli entrambi, in un terminale (Ctrl + Alt + T) dovrai scrivere il comando:

installa curl e jq

sudo apt install curl jq

Ottieni l'indirizzo IP pubblico del server

Prima di ottenere la posizione, è necessario conoscere l'indirizzo IP pubblico del server a cui ci colleghiamo. Per questo, useremo il seguente comando cURL con il quale faremo una richiesta ipinfo.io dal terminale (Ctrl + Alt + T) come mostrato di seguito:

ip pubblico ottenuto con curl e ipinfo.io

curl https://ipinfo.io/ip

Ottieni i dati della posizione geografica dell'IP del tuo sistema grazie all'API

Dopo aver eseguito il comando precedente otterremo l'indirizzo IP pubblico. Una volta che l'avremo, saremo in grado di farlo inoltrare una richiesta a ipvigilante.com per ottenere i dati di geolocalizzazione. Per questo useremo il seguente comando nel terminale (Ctrl + Alt + T). È importante sostituire l'IP pubblico con quello ottenuto con il comando precedente.

localizzazione geografica di un IP ottenuto con ipvigilante

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

Automatizza la chiamata API utilizzando Bash Script

Per automatizzare il processo di comunicazione con l'API andremo a creare uno script all'interno di un file chiamato ipgeolocator.sh (il nome è facoltativo). Per la sua creazione potremo utilizzare qualsiasi editor per la riga di comando con cui ognuno si sente più a suo agio.

vim ipgeolocalizador.sh

Quando si apre l'editor, dentro devi solo incolla la linea mostrato di seguito:

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

Una volta incollato, tutto ciò che devi fare è salvare il file e uscire dall'editor. Dopodiché sarà necessario rendere eseguibile lo script. Lo faremo scrivendo nello stesso terminale:

chmod +x ipgeolocalizador.sh

A questo punto possiamo eseguire lo script come segue per ottenere la posizione geografica dell'IP pubblico:

posizione geografica di un IP con bash

./ipgeolocalizador.sh

Lo script sopra mostra il nome della città e del paese insieme alle coordinate approssimative di latitudine e longitudine. La verità è che Non conosco il margine di errore che può avere.

Se non vuoi salvare il comando lungo sopra in un file, puoi anche eseguire lo stesso comando direttamente nel terminale (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'

In questo breve articolo abbiamo visto come ottenere la geolocalizzazione di un IP da Ubuntu utilizzando i comandi terminal e curl e jq. Puoi ottenere maggiori informazioni su jq o circa cURL nei corrispondenti articoli di Wikipedia.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.