Un guide complet pour réinitialiser le fichier hosts de Windows à son état par défaut, supprimer les redirections indésirables, corriger les erreurs d’autorisation et vérifier que la résolution des noms fonctionne de nouveau correctement.
Le fichier hosts est un petit fichier système en texte brut que Windows vérifie avant d’utiliser les serveurs DNS. Il peut associer un nom de domaine à une adresse IP précise. Par exemple, une ligne dans le fichier hosts peut forcer example.com à s’ouvrir depuis une adresse IP choisie ou bloquer un domaine en le faisant pointer vers 127.0.0.1.
Comme le fichier hosts est consulté très tôt dans la résolution des noms, des entrées incorrectes ou malveillantes peuvent empêcher l’ouverture de sites web, rediriger le navigateur vers une mauvaise adresse, bloquer les mises à jour antivirus ou perturber l’activation de logiciels et les services en ligne.
Vous devriez réinitialiser ou restaurer le fichier hosts lorsque les problèmes d’accès aux sites web sont causés par des correspondances locales incorrectes. C’est particulièrement utile après la suppression d’un malware, après l’utilisation de scripts de blocage publicitaire ou après une modification manuelle du fichier pour des tests.
Le fichier hosts de Windows est stocké dans le dossier suivant :
Le fichier s’appelle hosts et n’a normalement aucune extension. Il ne doit pas s’appeler hosts.txt, hosts.ini ou hosts.bak si vous voulez que Windows l’utilise.
hosts.txt si le type de fichier est réglé sur Documents texte (*.txt). Lors de l’enregistrement, choisissez Tous les fichiers (*.*) et utilisez exactement le nom hosts.
Un fichier hosts Windows propre peut contenir uniquement des commentaires et les exemples localhost par défaut. Les lignes qui commencent par # sont des commentaires et sont ignorées par Windows.
# Copyright (c) Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost
Vous pouvez aussi utiliser une version minimale propre du fichier hosts, sans correspondance active :
# localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost
Avant de modifier le fichier hosts, créez une sauvegarde. C’est utile si le fichier contient des entrées personnalisées légitimes pour un serveur local, un environnement de développement, un intranet, une machine virtuelle ou un domaine de test.
C:\Windows\System32\drivers\etc.hosts_backup ou hosts_original_backup.La méthode la plus simple consiste à ouvrir le Bloc-notes avec les droits administrateur, puis à remplacer le contenu du fichier hosts par une version propre.
C:\Windows\System32\drivers\etc.Après l’enregistrement, videz le cache DNS pour que Windows cesse d’utiliser d’anciennes informations mises en cache.
Vous pouvez aussi recréer un fichier hosts propre à l’aide de l’invite de commandes lancée en tant qu’administrateur. Cette méthode est rapide et réduit le risque d’enregistrer accidentellement un fichier hosts.txt.
copy C:\Windows\System32\drivers\etc\hosts C:\Windows\System32\drivers\etc\hosts.bak ( echo # localhost name resolution is handled within DNS itself. echo # 127.0.0.1 localhost echo # ::1 localhost ) > C:\Windows\System32\drivers\etc\hosts
Cette commande crée une sauvegarde hosts.bak, puis remplace le fichier hosts par une version propre contenant uniquement les entrées localhost commentées.
PowerShell permet de sauvegarder le fichier actuel et d’écrire un nouveau contenu propre en une seule commande structurée.
$hostsPath = "$env:SystemRoot\System32\drivers\etc\hosts" Copy-Item $hostsPath "$hostsPath.bak" -ErrorAction SilentlyContinue @" # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost "@ | Set-Content -Path $hostsPath -Encoding ASCII
Cette commande crée une sauvegarde nommée hosts.bak dans le même dossier et écrit un fichier hosts propre sans redirection active.
Si Windows ne vous laisse pas enregistrer les modifications, la cause la plus fréquente est l’absence de droits administrateur, l’attribut lecture seule, la protection antivirus ou l’enregistrement du fichier avec une mauvaise extension.
| Problème | Solution |
|---|---|
| Le Bloc-notes indique que l’accès est refusé | Fermez le Bloc-notes, puis rouvrez-le avec Exécuter en tant qu’administrateur. |
| Le fichier est enregistré sous hosts.txt | Choisissez Tous les fichiers (*.*) et nommez le fichier exactement hosts. |
| Le fichier est en lecture seule | Ouvrez un terminal élevé et exécutez attrib -r C:\Windows\System32\drivers\etc\hosts. |
| Un logiciel de sécurité bloque la modification | Autorisez temporairement le changement uniquement si vous êtes sûr que la modification est légitime. |
| Vous ne voyez pas le fichier | Dans la boîte de dialogue Ouvrir, remplacez le filtre Documents texte par Tous les fichiers. |
Après la réinitialisation du fichier hosts, videz le cache du résolveur DNS de Windows. Cela force Windows à abandonner les anciennes recherches de domaine mises en cache et à relire les informations fraîches.
ipconfig /flushdns
Si l’opération réussit, Windows affiche un message indiquant que le cache du résolveur DNS a été vidé avec succès.
Il est également utile de fermer puis de rouvrir votre navigateur. Certains navigateurs conservent leur propre cache DNS ou des connexions ouvertes pendant une courte période.
Après la restauration du fichier, vérifiez que les sites web se résolvent normalement. Vous pouvez utiliser ping, nslookup et un test dans le navigateur.
Ouvrez l’invite de commandes et exécutez :
ping example.com
Si le fichier hosts ne contient aucune entrée active pour le domaine, Windows doit le résoudre via DNS au lieu d’utiliser un remplacement local du fichier hosts.
Les entrées actives sont les lignes qui ne commencent pas par # et qui ne sont pas vides. Vous pouvez les vérifier manuellement ou utiliser PowerShell :
Get-Content "$env:SystemRoot\System32\drivers\etc\hosts" | Where-Object { $_ -and $_ -notmatch '^\s*#' }Si la commande ne renvoie rien, le fichier hosts ne contient aucune correspondance active.
Toutes les entrées hosts ne sont pas malveillantes. Les développeurs, administrateurs, outils de blocage publicitaire et environnements de test locaux peuvent utiliser ce fichier volontairement. Cependant, certaines entrées doivent attirer votre attention.
hosts.txt ne fonctionnera pas comme fichier hosts de Windows.
ipconfig /flushdns et redémarrer le navigateur suffit. Redémarrez Windows uniquement si le problème continue ou si une autre application conserve l’ancien état réseau.
127.0.0.1, 0.0.0.0 ou une autre adresse inaccessible. C’est pourquoi la restauration du fichier hosts peut corriger des sites bloqués uniquement sur un seul PC Windows.
hosts.txt, l’oubli d’ouvrir le Bloc-notes en tant qu’administrateur, le cache DNS du navigateur, une erreur de saisie du domaine ou la présence d’un # au début de la ligne, ce qui transforme l’entrée en commentaire.
La méthode la plus fiable consiste à ouvrir le Bloc-notes en tant qu’administrateur, à ouvrir C:\Windows\System32\drivers\etc\hosts, à remplacer les entrées suspectes par un contenu propre par défaut, à enregistrer le fichier sans extension, puis à exécuter ipconfig /flushdns.
Si des sites web sont bloqués, redirigés ou se comportent différemment uniquement sur un ordinateur Windows, le fichier hosts est l’un des premiers éléments à vérifier. Le réinitialiser à un état propre supprime les remplacements locaux de domaines et aide à rétablir une navigation normale basée sur DNS.