Il file hosts di Windows
Ven 25 Gen 2008
   


Ogni computer connesso a internet viene individuato da un indirizzo IP, indirizzo ip che ha la forma seguente: xxx.xxx.xxx.xxx, dove ciascun xxx è un numero tra 0 e 255. È evidente che per una persona è alquanto difficile ricordare l'indirizzo ip di un computer, figurarsi ricordare gli indirizzi ip di 5-6 computers o anche di più.
Per questo motivo ad ogni computer viene associato un nome (indirizzo simbolico) che lo identifica, ad esempio xyz.miodominio.it. È evidente che per una persona è più facile ricordare un nome che una sequenza di 4 numeri. Quando un utente usa un browser per connettersi ad un sito, ad esempio, inserisce il nome simbolico del sito piuttosto che l'indirizzo ip del computer su cui si trova il sito (www.miosito.it piuttosto che xxx.xxx.xxx.xxx).  

I computer connessi ad internet però vengono individuati solo con l'indirizzo ip e non con l'indirizzo simbolico, per questo motivo è necessario tradurre l'indirizzo simbolico in indirizzo ip. A tale scopo si utilizza uno o più dns server, questi server restituiscono l'indirizzo ip corrispondente ad un dato indirizzo simbolico (risoluzione dns) oppure possono restituire l'indirizzo simbolico corrispondente ad un dato indirizzo ip.
In windows esiste un file, il file hosts in cui sono presenti alcune corrispondenze indirizzo simbolico - indirizzo ip. Il file si trova nella directory C:\WINDOWS\system32\drivers\etc

Figura 1.
e inizialmente l'unica corrispondenza presente è quella relativa a localhost

Figura 2.
Windows quando deve risolvere dei nomi di host (convertire degli indirizzi simbolici in indirizzi ip) per prima cosa accede al file hosts, se non è presente nessuna corrispondenza in hosts windows chiederà al dns server della rete su cui si trova il computer dell'utente.
Se si vuole impedire a un qualsiasi programma di accedere ad un particolare sito è possibile farlo sfruttando il file hosts. Il "trucco" sta nell'inserire l'indirizzo del sito (indirizzo simbolico) nel file hosts e inserire come indirizzo ip corrispondente 127.0.0.1.
Supponiamo, a titolo di esempio, di voler rendere irraggiungibile il sito yahoo.com, inseriamo nel file hosts le seguenti due righe

  1. 127.0.0.1 yahoo.com
  2. 127.0.0.1 www.yahoo.com


Figura 3.
e salviamo il file. D'ora innanzi il sito yahoo.com sarà irraggiungibile

Figura 4.