hosts
Le fichier hosts est un fichier utilisé par le système d'exploitation d'un ordinateur lors de l'accès à un réseau, comme Internet par exemple. Son rôle est d'associer des noms d'hôtes à des adresses IP. Lors de l'accès à une ressource réseau par nom de domaine, ce fichier est consulté avant l'accès au serveur DNS et permet au système de connaître l'adresse IP associée au nom de domaine sans avoir recours à une requête DNS. Le fichier hosts est en texte brut et est usuellement nommé hosts. Les modifications sont prises en compte directement. Il est présent dans la plupart des systèmes d'exploitation.
Cette technologie fut à l'origine mise au point pour ARPANET, l'ancêtre d'Internet, mais devint insuffisante face à l'augmentation de la taille du réseau. Elle reste cependant utilisée pour les réseaux locaux de faible taille, ainsi que dans certains cas particuliers, par exemple pour le filtrage web.
Localisation
L'emplacement du fichier hosts dépend du système d'exploitation :
Système d'exploitation | Version(s) | Localisation du fichier |
---|---|---|
Unix, Unix-like, POSIX | /etc/hosts [1] | |
Microsoft Windows | 3.1 | %Windir%\HOSTS.SAMs |
95, 98/98SE, Me | %WinDir%\ | |
NT, 2000 et versions 32 bits de XP[2], 2003, Vista, 7, 8.x et 10 | %SystemRoot%\system32\drivers\etc\ | |
Versions 64-bits[3] | %SystemRoot%\system32\drivers\etc\ | |
Windows Mobile | Clé d’enregistrement dans \HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts | |
Apple Macintosh | 9 et inférieur | Fichiers système : Préférences ou Fichiers système |
OS X 10.0 – 10.1.5 [4] | (Ajouté par NetInfo ou niload) | |
OS X 10.2 et supérieur | /private/etc/hosts ou /etc/hosts [5] | |
Novell NetWare | SYS:etc\hosts | |
OS/2 & eComStation (en) | "bootdrive":\mptn\etc\ | |
Symbian | Symbian OS 6.1–9.0 | C:\system\data\hosts |
Symbian OS 9.1+ | C:\private\10000882\hosts | |
MorphOS | NetStack | ENVARC:sys/net/hosts |
Android | /system/etc/hosts | |
iOS | iOS 2.0 et supérieur | /etc/hosts |
Filtrage Internet
Le fichier hosts permet aussi de filtrer l'accès à Internet, en attribuant à un site distant une adresse locale (127.0.0.1
) ou mieux pas d'adresse (0.0.0.0
ou, tout simplement, 0
). Par exemple, pour bloquer les publicités du site DoubleClick, spécialisé dans le traçage des publicités, il suffit d'ajouter dans le fichier hosts la ligne suivante 0.0.0.0 ad.doubleclick.net
; pour bloquer certains traceurs de Google, il faut ajouter la ligne suivante 0.0.0.0 adservices.google.com googlesyndication.com
La prise en compte par les navigateurs web d'une modification du fichier hosts ne nécessite pas le redémarrage de l'ordinateur. Dans le cas où des applications mettent ce fichier en cache, un redémarrage de l'application concernée (Firefox, etc.) ou le vidage du cache suffit.
Injection
Lorsque le fichier hosts n'est pas protégé en écriture, certains programmes, comme les virus ou les espiogiciels, modifient les adresses de sites connus, tels Google, Altavista ou Microsoft, afin de rediriger vers un autre serveur, généralement piégé. Ils peuvent également bloquer l'accès aux sites utiles, tels les antivirus en ligne, de façon à rendre la désinfection de la machine plus difficile. Enfin, cette technique peut être utilisée dans le cadre de l'hameçonnage : les adresses de sites sur lesquels les utilisateurs sont amenés à s'identifier (eBay, Paypal, banques en ligne, etc.), sont redirigées vers des pages imitant leurs interfaces en tous points, de manière à leurrer les utilisateurs, afin qu'ils saisissent leurs identifiants et mots de passe en toute confiance.
Notes et références
- (en) « Linux Programmer's Manual - hosts - static table lookup for hostnames », sur man7.org (consulté le )
- (en) « Microsoft KB Q314053: TCP/IP and NBT configuration parameters for Windows XP » (consulté le )
- (en) « Microsoft KB 972034 Revision 2.0: default hosts files » (consulté le )
- (en) « Mac OS X: How to Add Hosts to Local Hosts File » (consulté le )
- Sous Mac OS X,
/etc
est un lien symbolique vers/private/etc
.