hosts

Un article de Wikipédia, l'encyclopédie libre.

Un fichier hosts ouvert sous Windows 10.

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[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

  1. (en) « Linux Programmer's Manual - hosts - static table lookup for hostnames », sur man7.org (consulté le )
  2. (en) « Microsoft KB Q314053: TCP/IP and NBT configuration parameters for Windows XP » (consulté le )
  3. (en) « Microsoft KB 972034 Revision 2.0: default hosts files » (consulté le )
  4. (en) « Mac OS X: How to Add Hosts to Local Hosts File » (consulté le )
  5. Sous Mac OS X, /etc est un lien symbolique vers /private/etc.