Come ottenere la posizione geografica del tuo sistema da uno script Bash

Mappa del mondo con il concetto di connessioni Internet

Toria/Shutterstock.com



Puoi trovare la posizione geografica di un sistema Linux remoto utilizzando API aperte e un semplice script bash. La geolocalizzazione di un server potrebbe aiutarti a rintracciarlo nel mondo fisico, garantendo che i server si trovino negli hotspot regionali.

Ogni server su Internet ha un pubblico indirizzo IP . Questo viene assegnato direttamente al server o assegnato a un router che invia il traffico a quel server. Gli indirizzi IP ci danno un indizio su dove si trova quel server nel mondo. Possiamo ottenere questi dati di geolocalizzazione tramite due API aperte, fornite da ipinfo.co e IP Vigilante e utilizzarli per vedere la città, lo stato e il paese associati a un server o altro sistema remoto. Questo non ti dà una posizione GPS precisa; ti permette solo di vedere l'area generale dell'indirizzo IP.





Connetti a un sistema remoto

Eseguirai i seguenti comandi sul server Linux o su altri sistemi remoti che desideri geolocalizzare, quindi devi prima connetterti al server e accedere a una shell su di esso. Ad esempio, potresti connettersi tramite SSH . Potresti eseguire i comandi sul tuo sistema locale per trovare la sua posizione, ma probabilmente sai già dove ti trovi!

Installa curl e jq

Abbiamo bisogno di due strumenti per accedere all'API di geolocalizzazione: |_+_| per effettuare richieste HTTP e |_+_| per elaborare i dati JSON che otteniamo indietro. Apri un terminale e usa |_+_| per installare questi strumenti su sistemi basati su Ubuntu o Debian. Su altre distribuzioni Linux, usa invece lo strumento di installazione del pacchetto della tua distribuzione Linux.



curl

Trova l'indirizzo IP pubblico del server

Abbiamo anche bisogno dell'indirizzo IP pubblico del server prima di poter ottenere i dati di geolocalizzazione. Usa |_+_| per effettuare una chiamata API a ipinfo.io nella finestra del terminale.

jq

Ottieni dati sulla posizione dall'API

Ora che abbiamo l'IP pubblico del server, possiamo effettuare una chiamata all'API di ipvigilante.com per ottenere i dati di geolocalizzazione. Sostituisci |_+_| con l'indirizzo che è tornato nel comando precedente.

apt-get

output del comando curl



Annuncio pubblicitario

Diamo un'occhiata più da vicino a quali dati otteniamo da questa chiamata:

metadati che mostrano informazioni sulla posizione

L'API restituisce la città, il paese e il continente in cui risiede il nostro server. Restituisce anche le coordinate approssimative di latitudine e longitudine, nel caso si voglia disegnare questo server su una mappa interattiva. Useremo latitudine, longitudine, nome_città e nome_paese nel nostro script. Il |_+_| Il comando comprende come elaborare i dati API ed estrarre questi quattro campi.

Creazione di uno script per automatizzare la chiamata API

Possiamo creare uno script che acquisisca i dati di geolocalizzazione e li scriva in un file in formato CSV. I dati verranno scritti in un file chiamato |_+_| nel |_+_| directory. Apri il tuo editor preferito e crea uno script chiamato |_+_| . Inserisci il contenuto dello script mostrato di seguito e assicurati di sostituire l'indirizzo IP con il tuo:

curl

Salva lo script e torna al terminale. Rendi lo script eseguibile dal terminale, concedendo il permesso di esecuzione su questo file.

Ora sei pronto per provarlo. Esegui |_+_| script e controlla il contenuto del file di output:

jq

eseguendo lo script di geolocalizzazione

Aggiornamento dei dati di geolocalizzazione una volta al giorno con un lavoro Cron

Creiamo un cron job per fare in modo che il nostro server aggiorni la sua geolocalizzazione e lo salvi in ​​un file una volta al giorno. Il cron job quotidiano aggiorna un file chiamato |_+_| nel |_+_| cartella del server. Creare un cron job di 24 ore è facile come inserire il nostro script nel |_+_| directory. Dobbiamo usare il comando sudo per copiare il file come utente root, per evitare problemi di autorizzazione. Esegui il seguente comando per copiare |_+_| al |_+_| directory.

server_location.txtAnnuncio pubblicitario

Queste modifiche sono immediate e il nostro script verrà eseguito ogni 24 ore per aggiornare i contenuti del |_+_| file. Possiamo usare questi dati per fare cose interessanti, come tracciare i nostri server su una mappa e combinare la geolocalizzazione con i registri del traffico per vedere dove si trovano i nostri hotspot del server.

LEGGI SUCCESSIVO
  • › Funzioni e formule in Microsoft Excel: qual è la differenza?
  • › Che cos'è la protezione anticaduta MIL-SPEC?
  • › 5 siti Web che ogni utente Linux dovrebbe aggiungere ai segnalibri
  • › La cartella del computer è 40: come la star di Xerox ha creato il desktop
  • › Come trovare il tuo Spotify Wrapped 2021
  • & rsaquo; Cyber ​​Monday 2021: le migliori offerte tecnologiche
Foto del profilo di Taylor Gibb Taylor Gibb
Taylor Gibb è uno sviluppatore di software professionale con quasi un decennio di esperienza. È stato direttore regionale di Microsoft in Sudafrica per due anni e ha ricevuto numerosi premi Microsoft MVP (Most Valued Professional). Attualmente lavora in R&D presso Derivco International.
Leggi la biografia completa

Articoli Interessanti