In questo articolo, ti mostreremo come trovare la posizione geografica dell'indirizzo IP di un sistema Linux remoto utilizzando API aperte e un semplice script bash dalla riga di comando.
Su Internet, ogni server ha un indirizzo IP pubblico, che 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 tracciare la posizione del server nel mondo utilizzando due utili API fornite da ipinfo.io e ipvigilante.com per ottenere la città , stato e paese connesso a un server.
Installa Curl e jq
Per ottenere la posizione geografica dell'indirizzo IP del server, è necessario installare curl per il download della riga di comando e jq strumento da riga di comando per elaborare i dati JSON dalle API di geolocalizzazione.
$ 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
Trova l'indirizzo IP pubblico del server
Per ottenere l'indirizzo IP pubblico del server, utilizza il seguente comando curl per effettuare una richiesta API a ipinfo.io nel tuo terminale come mostrato.
$ curl https://ipinfo.io/ip
Ottieni i dati sulla posizione IP dall'API
Una volta ottenuto l'indirizzo IP pubblico del server, ora puoi fare una richiesta a ipvigilante.com 's API per recuperare i dati di geolocalizzazione utilizzando il comando seguente. Assicurati di sostituire <your ip address>
con l'IP pubblico del server.
$ curl https://ipvigilante.com/<your ip address>
Questi sono i dati che otteniamo dal comando precedente.
Automatizzazione delle chiamate API utilizzando lo script Bash
Ora per automatizzare il processo API, creeremo uno script chiamato getipgeoloc.sh
(puoi nominarlo come vuoi) usando uno qualsiasi dei tuoi editor da riga di comando preferiti.
$ vim getipgeoloc.sh
Quindi copia e incolla il seguente lungo comando al suo interno.
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
Salva il file e rendi eseguibile lo script con il seguente comando.
$ chmod +x getipgeoloc.sh
Infine, esegui lo script per ottenere la tua posizione geografica IP Linux come mostrato nello screenshot seguente.
$ ./getipgeoloc.sh
Lo script sopra mostra la città e paese nome insieme alla latitudine approssimativa e longitudine coordinate.
In alternativa, puoi anche eseguire il comando precedente senza salvarlo in uno script come mostrato.
$ curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
Potresti anche leggere questi seguenti articoli correlati:
- 4 modi per trovare l'indirizzo IP pubblico del server nel terminale Linux
- Scopri tutti gli indirizzi IP degli host live connessi alla rete in Linux
- Trova i 10 principali indirizzi IP che accedono al tuo server Web Apache
Per ora è tutto! In questo breve articolo, abbiamo mostrato come ottenere la posizione geografica dell'IP Linux dal terminale utilizzando il curl e jq comandi. Condividi i tuoi pensieri con noi o fai qualsiasi domanda tramite il modulo di feedback qui sotto.