Hosts

Termine informatico

I file hosts sono dei file che associano i nomi host agli indirizzi IP. È un file di testo semplice. Originariamente un file chiamato "HOSTS.TXT" fu gestito manualmente e reso disponibile tramite la condivisione di file da Stanford Research Institute per l'adesione a ARPANET, conteneva i nomi host e gli indirizzi degli host come contributo per l'inclusione da parte delle organizzazioni membri. Il Domain Name System, descritto per la prima volta nel 1983 e implementato nel 1984,[1] automatizzato il processo di pubblicazione e fornito una risoluzione istantanea e dinamica del nome host nella rete in rapida crescita. Nei moderni sistemi operativi, il file hosts rimane un meccanismo di risoluzione dei nomi alternativo, configurabile spesso come parte di servizi come il Name Service Switch come metodo principale o come metodo di fallback.

Scopo modifica

Il file hosts è una delle numerose funzionalità di sistema che consente di indirizzare i nodi di rete in una rete di computer. È una parte comune dell'implementazione di un protocollo Internet (IP) di un sistema operativo e serve a tradurre nomi di host facilmente leggibili in indirizzi di protocollo numerici, chiamati indirizzi IP, che identificano e localizzano un host in una rete di IP.

In alcuni sistemi operativi, il contenuto del file hosts viene utilizzato preferibilmente ad altri metodi di risoluzione dei nomi, come il Domain Name System (DNS), ma molti sistemi implementano switch di servizi dei nomi, ad esempio nsswitch.conf per Linux e Unix, per fornire personalizzazione. A differenza dei resolver DNS remoti, il file hosts è sotto il controllo diretto dell'amministratore del computer locale.[2]

Contenuto del file modifica

Il file hosts contiene righe di testo costituite da un indirizzo IP nel primo campo di testo seguito da uno o più nomi host. Ogni campo è separato da uno spazio bianco. Il tab è spesso preferito per ragioni storiche, ma vengono anche utilizzati gli spazi. Le righe commentate possono essere incluse; sono indicati da un cancelletto (#) nella prima posizione di tali linee. Le righe completamente vuote nel file vengono ignorate. Ad esempio, un file hosts tipico può contenere quanto segue:

127.0.0.1 loopback localhost
:: 1 localhost 

Questo esempio contiene solo voci per gli indirizzi di loopback del sistema e i loro nomi host, un tipico contenuto predefinito del file hosts. L'esempio mostra che un indirizzo IP può avere più nomi host (localhost e loopback) e che un nome host può essere mappato su indirizzi IP sia IPv4 che IPv6, come mostrato rispettivamente sulla prima e seconda riga.

Posizione nel file system modifica

La posizione del file hosts nella gerarchia del file system varia in base al sistema operativo. Di solito è chiamato host, senza estensione.

Sistema operativo Versioni Posizione
Unix, Unix-like, POSIX /etc/hosts[3]
Microsoft Windows 3.1 %WinDir%\HOSTS
95, 98, ME %WinDir%\hosts[4]
NT, 2000, XP,[5] 2003, Vista, 2008, 7, 2012, 8, 10 %SystemRoot%\System32\drivers\etc\hosts[6]
Windows Mobile, Windows Phone Chiave di registro in HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts
Apple Macintosh 9 e precedenti Preferenze o cartella Sistema
Mac OS X 10.0–10.1.5[7] (Aggiunto tramite NetInfo o niload)
Mac OS X 10.2 e versioni successive /etc/hosts (un collegamento simbolico a /private/etc/hosts)[7]
Novell NetWare SYS:etc\hosts
OS / 2, eComStation, ArcaOS "bootdrive":\mptn\etc\
Symbian Sistema operativo Symbian 6.1–9.0 C:\system\Data\hosts
Symbian OS 9.1+ C:\private\10000882\hosts
MorphOS NetStack ENVARC:sys/net/hosts
AmigaOS <4 AmiTCP:DB/hosts
4 Devs:Internet/hosts
AROS ENVARC:AROSTCP/db/hosts
androide /etc/hosts (un collegamento simbolico a /system/etc/hosts)
iOS iOS 2.0 e versioni successive /etc/hosts (un collegamento simbolico a /private/etc/hosts)
TOPS-20 <SYSTEM>HOSTS.TXT
Piano 9 /lib/NDB/hosts
BeOS /boot/beos/etc/hosts[8]
Haiku /system/settings/network/hosts[9]
OpenVMS UCX UCX$HOST
TCPware TCPIP$HOST
SO RISC 3.7, 5 !Boot.Resources.!Internet.files.Hosts
sequenza di avvio successiva !Boot.Choices.Hardware.Disabled.Internet.Files.Hosts[10]

Storia modifica

ARPANET, il predecessore di Internet, non aveva un database di nomi host distribuito. Ogni nodo di rete manteneva la propria mappa dei nodi di rete secondo necessità e assegnava loro nomi che erano memorabili per gli utenti del sistema. Non esisteva un metodo per garantire che tutti i riferimenti a un determinato nodo in una rete usassero lo stesso nome, né esisteva un modo per leggere il file hosts di un altro computer per ottenere automaticamente una copia.

Le dimensioni ridotte di ARPANET mantennero bassi gli sforzi per amministrare un file host accurato. I nodi di rete in genere avevano un indirizzo e potevano avere molti nomi. Con l'aumentare della popolarità delle reti di computer TCP/IP locali, tuttavia, la manutenzione dei file host divenne un onere maggiore per gli amministratori di sistema in quanto le reti e i nodi di rete venivano aggiunti al sistema con frequenza crescente.

Sforzi di standardizzazione, come il formato utilizzato per il file HOSTS.TXT in RFC 952 e protocolli di distribuzione, ad esempio il server hostname descritto in RFC 953, hanno aiutato con questi problemi, ma la natura centralizzata e monolitica dei file host alla fine ha reso necessaria la creazione del Domain Name System (DNS) distribuito.

Su alcuni vecchi sistemi è presente un file denominato networks che ha funzioni simili ai file host contenenti nomi di reti.

Applicazioni del file Hosts modifica

Nella sua funzione di risoluzione dei nomi host, il file hosts può essere utilizzato per definire qualsiasi nome host o nome dominio da utilizzare nel sistema locale.

Reindirizzamento di domini locali
Alcuni sviluppatori e amministratori di servizi Web e intranet, definiscono localmente degli specifici domini LAN per vari scopi, come l'accesso alle risorse interne dell'azienda o per testare siti Web locali in fase di sviluppo.[11]
Blocco delle risorse Internet
Le voci nel file hosts possono essere utilizzate per bloccare la pubblicità online o i domini di server dannosi noti che contengono spyware, adware e altri malware. Ciò può essere ottenuto aggiungendo voci per quei siti per reindirizzare le richieste a un altro indirizzo che non esiste o verso una destinazione innocua come il computer locale.[12] Alcuni applicazioni commerciali scrivono sul file hosts per bloccare delle risorse malevole. Inoltre, sono reperibili online, file hosts già compilati in modo da bloccare siti indesiderati.[13][14]
Fravia ha descritto questi file in vari modi come "pergamene", "preziosi" e "potenti" nelle sue pagine anti-pubblicità, quando questi hosts creati dagli utenti furono pubblicati per la prima volta.[14]
Pirateria informatica
Alcune versioni piratate dei alcuni software si basano su un file hosts modificato per impedire al software di contattare i server di attivazione dell'editore, sebbene a volte i server di attivazione compaiano nei file host per scopi generici.[13]

Problemi di sicurezza modifica

Il file hosts può presentare un vettore di attacco per software dannoso. Il file può essere modificato, ad esempio, da adware, virus informatici o software trojan horse per reindirizzare il traffico dalla destinazione prevista a siti che ospitano contenuti dannosi o indesiderati.[15] Il diffuso worm Mydoom.B ha impedito agli utenti di visitare siti sulla sicurezza informatica e software antivirus e ha anche compromesso l'accesso dal computer al sito Web Microsoft Windows Update. In alcuni casi il malware ha modificato la libreria responsabile del caricamento del file hosts per reindirizzarlo a un file che è in grado di controllare liberamente.[16]

Note modifica

  1. ^ Internet Systems Consortium, The Most Widely Used Name Server Software: BIND, su isc.org, History of BIND. URL consultato il 1º luglio 2017 (archiviato dall'url originale il 2 gennaio 2016).
  2. ^ "Cisco Networking Academy Program: First-Year Companion Guide", Cisco Systems, Inc., 2002 (2nd Edition), page 676, ISBN 1-58713-025-4
  3. ^ Linux Network Administrators Guide: Writing hosts and networks files, su tldp.org. URL consultato il 16 maggio 2010.
  4. ^ Hosts File, su support.isoc.net. URL consultato il 10 agosto 2011 (archiviato dall'url originale il 20 luglio 2011).
  5. ^ Microsoft KB Q314053: TCP/IP and NBT configuration parameters for Windows XP, su support.microsoft.com. URL consultato il 28 agosto 2010.
  6. ^ Microsoft KB 972034 Revision 2.0: default hosts files, su support.microsoft.com. URL consultato il 28 agosto 2010.
  7. ^ a b Mac OS X: How to Add Hosts to Local Hosts File, su support.apple.com. URL consultato il 28 agosto 2010.
  8. ^ The Haiku/BeOS Tip Server, su betips.net. URL consultato il 30 novembre 2012 (archiviato dall'url originale il 28 gennaio 2013).
  9. ^ Haiku UserGuide:Network, su haiku-os.org. URL consultato il 17 gennaio 2019.
  10. ^ RISC OS 6.14
  11. ^ Building / Testing via the Hosts File, su Ohio State University Web Hosting, OCIO. URL consultato il 5 agosto 2018.
  12. ^ Gordon, -Tx, Gordon and -Tx explanations about the use of Gordon's hosts file, su Web Searchlores, +Fravia. URL consultato il 5 agosto 2018 (archiviato dall'url originale il 26 dicembre 2018).
  13. ^ a b Constantin Hofstetter, /etc/hosts to block shock sites etc., su Github. URL consultato il 5 agosto 2018.
  14. ^ a b Francesco "Fravia" Vianello, Antiadvertisement Lab, su Web Searchlores, +Fravia (archiviato dall'url originale il 15 maggio 2009).
  15. ^ Remove Trojan.Qhosts – Symantec, su symantec.com. URL consultato il 16 maggio 2010.
  16. ^ Pieter Arntz, Hosts file hijacks, su Malwarebytes Labs. URL consultato il 5 agosto 2018.

Voci correlate modifica

Collegamenti esterni modifica

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica