Le fichier hosts ou comment vous prémunir de publicités

Rédigé par Kevin Sartor - -

Le fichier hosts présent sous la plupart des systèmes d'exploitation est une sorte de dictionnaire qui permet de "traduire" une adresse internet (sous la forme www.site.extension) en adresse IP (x.x.x.x en IPV4).

Voyons quels sont ces avantages et comment l'utiliser...

Ses avantages sont nombreux:

  • Il permet d'accélérer le chargement des sites dont les adresses IP sont référencées car dans ce cas il n'est pas nécessaire de contacter un serveur DNS pour réaliser cette action et d'attendre le traitement de la demande (si le site change de nom ou d'IP, cela ne fonctionnera cependant plus...);
  • Il n'est plus possible de falsifier les adresses internet contenues dans le fichier hosts ce qui réduit certains risques ;
  • Une fois mis en place sur une machine, l'ensemble des logiciels utilisant un accès à internet (navigateur, client ftp, n'importe quel logiciel qui vérifie sa licence sur internet) utilisera ce "dictionnaire";
  • Même avec plusieurs centaines de lignes, la consommation en ressources de l'ordinateur est extrêmement faible.

Ces fonctionnalités du fichier hosts peuvent être utilisées afin de rediriger certains sites (indésirables) vers une adresse locale: par exemple sa propre machine (127.0.0.1 ou 0.0.0.0 dans certains cas) ce afin de ne pas télécharger le contenu du site indésirable. Il s'agit donc d'un avantage indéniable complémentaire par rapport à des extensions comme AdBlock qui se contentent de masquer le contenu indésirable lors de l'utilisation d'un navigateur. En effet avec le fichier hosts, le téléchargement du contenu n'a pas lieu ce qui a comme conséquence une accélération du chargement de la page et une réduction du trafic internet.

Concrètement, lorsque un site de confiance fait référence à un lien externe (une publicité par exemple) vers le site www.sitepublicitaire.com/fichier et que votre fichier hosts contient la règle suivante:

127.0.0.1 www.sitepublicitaire.com

Le contenu indésirable (image, vidéo, script, tracker...) ne sera pas téléchargé.

Il vous est donc possible d'ajouter l'ensemble des sites (à la main) qui vous "pourrisse" la vie (et votre connexion et la planète par extension). Toutefois, cette méthode est assez fastidieuse et il est plus simple d'utiliser un fichier hosts préconfiguré tel que celui disponible ici.

Évidemment, dans certains cas (s'il s'agit d'un lien licite sur un domaine référencé dans le fichier hosts, programme de fidélité via internet...), une page peut mal se charger car l'un de ses composants qui est appelé est listé dans le fichier hosts que vous utilisez. Il suffira alors de vérifier supprimer la règle 127.0.0.1 www.sitesouhaite.extension afin de récupérer l'affichage normal de la page.

Remarques complémentaires

Il n'est pas possible avec cette configuration de

  • bloquer une IP spécifique mais seulement une adresse internet
  • bloquer un mot clé
  • d'utiliser une expression régulière
  • de bloquer une extension comme le .be
  • il n'y a pas de gestion de sous-domaines

En pratique, comment faire?

Sous Windows:

  • Ouvrir Notepad en Mode administrateur (clic droit sur le raccourci de Notepad dans le menu démarrer et cliquer sur "Exécuter en tant qu'Administrateur");
  • Insérer les lignes de texte de la page conseillée (ou les vôtres)
  • Ce fichier doit être enregistré sous le nom de hosts (texte sans extension) dans le répertoire suivant en fonction de la version de Windows que vous utilisez:
    • Pour Windows 9x et ME: "C:\Windows\hosts"
    • Pour NT, Win2K et XP: "C:\windows\system32\drivers\etc\hosts" ou "C:\winnt\system32\drivers\etc\hosts"
    • Pour Windows 7 et Vista: "C:\windows\system32\drivers\etc\hosts" ou "%systemroot%\system32\drivers\etc\hosts"
    • Pour Windows 8 et Windows 10: "C:\Windows\System32\drivers\etc\hosts"

Dans certains cas, il sera peut être nécessaire de configurer Windows Defender et d'ignorer ce chemin. Dans ce cas, consultez http://support.microsoft.com/kb/2764944

Sous Linux, Unix ou OS X, placez ce fichier dans "/etc/hosts" ou "/private/etc/hosts". Vous aurez besoin d'un accès root. Pour se faire: Enregistrer le fichier dans "~/hosts" et lancer la commande "sudo cp ~/hosts /etc/hosts".

Sur les ordinateurs testés, il n'a pas été nécessaire de redémarrer la machine.

Les commentaires sont fermés. Vous pouvez me contacter pour toutes questions ou remarques via la page Contacts.