Tutti i sistemi operativi con supporto di rete dispongono di un file hosts per tradurre i nomi host in indirizzi IP. Ogni volta che apri un sito Web digitandone il nome host, il tuo sistema leggerà il file hosts per verificare l'IP corrispondente e quindi lo aprirà. Il file hosts è un semplice file di testo che si trova nella cartella etc su Linux e Mac OS (/etc /host ). Anche Windows ha un file hosts, su Windows puoi trovarlo in Windows\System32\drivers\etc\
Ecco come appare:
Da quello che abbiamo menzionato, potresti aspettarti che questo file abbia un elenco molto lungo di IP e nomi host corrispondenti; Ma non è vero. Il file hosts contiene solo diverse righe;
- La prima parte, per impostazione predefinita, contiene i nomi host e gli indirizzi IP del tuo localhost e della tua macchina. Questa è la parte che solitamente modificherai per apportare le modifiche desiderate.
- La seconda parte contiene informazioni sugli host compatibili con IPv6 e difficilmente modificherai queste righe.
Ogni volta che digiti un indirizzo, il tuo sistema controllerà la presenza del file hosts; se è presente, verrai indirizzato all'IP corrispondente. Se il nome host non è definito nel file hosts, il tuo sistema controllerà il server DNS di Internet per cercare l'IP corrispondente e ti reindirizzerà di conseguenza.
Perché modificare il file /etc/hosts?
Modificando i file hosts, puoi ottenere le seguenti cose:
- Blocca un sito web
- Gestisci un attacco o risolvi uno scherzo
- Crea un alias per le località sul tuo server locale
- Sostituisci gli indirizzi forniti dal tuo server DNS
- Controlla l'accesso al traffico di rete
Come modificare il file /etc/hosts?
Puoi modificare il file di testo hosts, che si trova in /etc/hosts solo come superutente. Dovrai prima aprirlo in editor di testo come VI editor, Nano editor o gedit, ecc. Nel terminale Linux. Apporterai quindi le modifiche richieste e salverai il file affinché queste modifiche abbiano effetto.
In questo articolo, utilizzeremo l'editor Nano per modificare il file. Digita il seguente comando:
$ sudo nano /etc/hosts
Oppure
$ sudo gedit /etc/hosts
(per gedit)
Come accennato in precedenza, modificheremo la prima parte del file hosts in cui sono definiti gli indirizzi IP e i nomi host. Spiegheremo i seguenti due modi in cui puoi utilizzare il file hosts:
- Blocca un sito web
- Accedi al computer remoto tramite un alias
Blocca un sito web
Puoi bloccare un sito web reindirizzandolo all'IP del tuo localhost o al percorso predefinito.
Ad esempio, se vogliamo bloccare google.com, possiamo aggiungere il seguente testo al nostro file:
127.0.0.1 www.google.com
Ora, quando apriamo il sito Web di Google, il nostro sistema prenderà l'IP del nostro localhost (127.0.0.1) dal file hosts e ci reindirizzerà a quello anziché all'IP di Google dal nostro server DNS.
O
0.0.0.0 www.google.com
Ora, quando apriamo il sito Web di Google, il nostro sistema prenderà l'IP del percorso predefinito (0.0.0.0) dal file hosts e ci reindirizzerà a quello anziché all'IP di Google dal nostro server DNS.
Ecco come apparirà il file modificato. Salva le modifiche premendo ctrl+X.
Ora, quando provi ad aprire www.google.com dal tuo browser, vedrai un messaggio di errore come segue:
Tieni presente che abbiamo definito l'indirizzo completo www.google.com invece del solo nome host google.com nel file hosts perché i browser moderni a volte aggirano il blocco se definiamo solo quest'ultimo.
Sono disponibili anche alcune blocklist predefinite che puoi utilizzare nel tuo file hosts:https://github.com/StevenBlack/hosts
Accedi al computer remoto tramite un alias
Supponiamo di avere un server situato su una rete locale a cui vogliamo accedere. Di solito dobbiamo digitare l'IP del server per accedervi a meno che non sia stato definito sul nostro DNS locale. Un modo per evitare di digitare l'IP, ancora e ancora, è assegnare un alias al server nel file hosts come segue:
192.168.1.10 myserver
L'IP corrisponde alla posizione del server a cui vogliamo accedere e myserver è il nuovo alias che vogliamo utilizzare.
Ora, quando avremo salvato il file e digitato myserver nella barra degli indirizzi, verremo reindirizzati al nostro server remoto.
Abbiamo imparato che apportando modifiche molto semplici al file hosts, possiamo personalizzare e quindi reindirizzare il traffico di rete in base alle nostre esigenze. Possiamo anche sbarazzarci di un attacco di rete o di uno scherzo ripristinando il file hosts al suo valore predefinito.