Ricerca nel sito web

Come trovare la posizione geografica del server (IP) utilizzando il terminale su Debian 11


Ogni server ha un indirizzo IP pubblico che viene assegnato al server direttamente tramite un router. Questo indirizzo IP pubblico può essere utilizzato per determinare la geolocalizzazione del server, che include informazioni come il continente, il paese e persino la latitudine e la longitudine stimate del server.

Esistono molte situazioni in cui è necessario determinare la posizione geografica di una macchina Linux remota in base al suo indirizzo IP. Potresti sapere come scoprire la geolocalizzazione del server tramite il browser web, ma oggi vedremo come trovarlo tramite l'applicazione terminale in un sistema operativo Debian. In questo articolo ti spiegheremo come scoprire l'indirizzo IP pubblico di un sistema e quindi recuperarne la geolocalizzazione utilizzando le due API aperte di ipinfo.io.

Le informazioni di geolocalizzazione possono essere utilizzate in diversi modi. Alcuni casi d'uso sono elencati di seguito:

  • Sicurezza informatica
  • Pubblicità digitale
  • Personalizzazione dei contenuti
  • Geomarketing
  • Applicazione della legge

Abbiamo eseguito i comandi e le procedure menzionati in questo articolo su Debian 11.

Mostra la posizione geografica di un indirizzo IP sul terminale

Per recuperare la posizione geografica del tuo server, avrai bisogno del downloader Curl e dello strumento da riga di comando JQ. Questo strumento ti consentirà di ottenere ed elaborare i dati richiesti dalle API di geolocalizzazione su Internet. Segui questi passaggi per installare questi strumenti e quindi recuperare le informazioni sulla posizione richieste utilizzando l'IP pubblico del tuo computer.

Passaggio 1: installa curl e jq

Avvia il terminale nel tuo sistema operativo Debian. Per farlo, vai alla scheda Attività nell'angolo in alto a sinistra del desktop. Quindi, nella barra di ricerca, digita terminale. Quando viene visualizzata l'icona del Terminale, fai clic su di essa per avviarla.

Passa all'account superutente nel tuo sistema operativo Debian utilizzando il seguente comando nel terminale, quindi inserisci la password richiesta.

su

Quindi esegui il seguente comando nel Terminale per aggiornare l'indice del repository del tuo sistema:

apt-get update

Curl verrà utilizzato per effettuare richieste HTTP e jq verrà utilizzato per elaborare i dati JSON dalle API di geolocalizzazione. Curl e jq sono disponibili nei repository Debian ufficiali, quindi possiamo installarli utilizzando il comando apt-get nel Terminale.

Esegui il seguente comando nel Terminale per installare curl e jq:

apt get insntall curl jq

Il sistema ti fornirà un'opzione Sì/n per continuare o annullare il processo di installazione. Inserisci Y e poi premi invio. Quindi, attendi qualche istante fino al completamento dell'installazione degli strumenti di cui sopra.

Passo 2: Trova l'IP pubblico della macchina/server Debian

Per trovare i dati sulla posizione geografica del server, avremo bisogno del suo indirizzo IP pubblico. È l'indirizzo assegnato al tuo server o router da un ISP. Tutti i server su Internet vengono riconosciuti da questi indirizzi IP. Per recuperare l'indirizzo IP pubblico, utilizzeremo l'API fornita da ipinfo.io.

Dovremo utilizzare il comando curl per effettuare una chiamata API a ipinfo.io. Per fare ciò, apri il Terminale ed esegui il seguente comando:

curl https://ipinfo.io/ip

L'output sopra, (qui sfocato per motivi di privacy), è l'IP pubblico del server attraverso il quale è connesso e riconosciuto nel mondo Internet.

Passaggio 3: ottieni la geolocalizzazione basata sull'IP pubblico

Ora che abbiamo l'indirizzo IP pubblico del server, ora faremo una richiesta all'API di ipinfo.io per recuperare i dati di geolocalizzazione del server. Utilizzeremo il comando curl per questo scopo. Recupererà i seguenti dettagli:

  • Continente
  • Paese
  • Stato/provincia
  • Città
  • Latitudine e longitudine

Esegui il comando seguente nel Terminale per recuperare i dati di geolocalizzazione dall'API di ipinfo.io utilizzando il curl:

curl https://ipinfo.io/<Public_IP>

Sostituisci con il tuo indirizzo IP pubblico.

Fornitori alternativi di geolocalizzazione IP:

curl http://api.geoiplookup.net/?query=<Public_IP>
curl https://json.geoiplookup.io/<Public_IP>

Sostituisci con il tuo indirizzo IP pubblico.

Utilizza lo script Bash per stampare la posizione geografica

Ogni volta che devi verificare la posizione geografica del tuo server, devi seguire tutti i passaggi sopra descritti. Invece di questo, possiamo automatizzare questo processo creando uno script bash. Questo script consentirà di recuperare la posizione geografica del tuo server eseguendo un solo comando. Seguire i passaggi seguenti per creare uno script.

Possiamo creare lo script utilizzando qualsiasi editor di testo. Per lo scenario attuale, stiamo utilizzando l'editor nano, quindi digiteremo nano seguito dal nome dello script (nominalo come preferisci).

nano geolocation.sh

Quindi copia e incolla la seguente riga utilizzando il menu di scelta rapida.

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

Premi Ctrl+o per salvare lo script e Ctrl+x per uscire

Ora eseguiremo lo script precedente concedendogli le autorizzazioni eseguibili. Per fare ciò, esegui il seguente comando nel Terminale:

chmod +x geo_location.sh

Ora siamo pronti per testare lo script. Esegui il comando seguente nel Terminale per eseguire lo script.

./geo_location.sh

Dall'output sopra, puoi vedere che lo script ha stampato ordinatamente la latitudine, la longitudine, la città e il nome del paese sul Terminale.

Per ora è tutto! Abbiamo imparato come trovare la posizione geografica di un server utilizzando il terminale Debian. La posizione geografica dell'IP fornisce informazioni utili costituite dal nome del paese, della città, della latitudine e della longitudine. È possibile utilizzare queste informazioni in diversi modi, come discusso sopra nell'articolo.

Articoli correlati: