Ricerca nel sito web

Come trovare la posizione geografica del server Linux nel terminale


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, 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 il città, stato e paese connessi a un server.

Installa Curl e jq

Per ottenere la posizione geografica dell'indirizzo IP del server, dobbiamo installare il downloader da riga di comando curl e lo strumento da riga di comando jq 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, puoi ora effettuare una richiesta all'API di ipvigilante.com per recuperare i dati di geolocalizzazione utilizzando il seguente comando. Assicurati di sostituire con l'IP pubblico del server.

curl https://ipvigilante.com/<your ip address>

Questi sono i dati che otteniamo dal comando precedente.

Automatizza la chiamata API utilizzando Bash Script

Ora, per automatizzare il processo API, creeremo uno script chiamato getipgeoloc.sh (puoi chiamarlo come preferisci) utilizzando uno dei tuoi editor della riga di comando preferiti.

vim getipgeoloc.sh

Quindi copia e incolla il seguente comando lungo 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'

Salvare il file e rendere eseguibile lo script con il seguente comando.

chmod +x getipgeoloc.sh

Infine, esegui lo script per ottenere la posizione geografica del tuo IP Linux come mostrato nello screenshot seguente.

./getipgeoloc.sh

Lo script sopra mostra il nome della città e del paese insieme alle coordinate approssimative di latitudine e longitudine.

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'

Potrebbe interessarti anche leggere i seguenti articoli correlati:

  1. 4 modi per trovare l'indirizzo IP pubblico del server nel terminale Linux
  2. Scopri tutti gli indirizzi IP degli host live connessi alla rete in Linux
  3. 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 del proprio IP Linux da terminale utilizzando i comandi curl e jq. Condividi i tuoi pensieri con noi o fai qualsiasi domanda tramite il modulo di feedback qui sotto.