Come ottenere la posizione geografica del tuo sistema da uno script Bash
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
Annuncio pubblicitario
Diamo un'occhiata più da vicino a quali dati otteniamo da questa chiamata:
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
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.txt
Annuncio 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
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