Mise à jour le 11 novembre 2020
Windows 10 rend plus difficile la modification du fichier hosts, car il est en lecture seule.
Il est cependant possible de modifier le fichier hosts à l’aide du bloc-notes ou même à partir de la ligne de commandes ou encore sur un ordinateur distant.
Qu’est-ce le fichier Hosts ?
Le fichier hosts sert de serveur DNS local pour l’ordinateur et est utilisé pour mettre en correspondance les adresses IP avec les noms de domaine.
Le fichier hosts est essentiellement le premier endroit où votre ordinateur cherche une adresse IP lorsque vous naviguez sur Internet. Il s’agit d’un fichier situé sur votre ordinateur qui contient le nom d’un site Web et son adresse IP correspondante.
Lorsque vous accédez à un site Internet depuis votre navigateur Web, le système va chercher l’adresse IP correspondante dans le fichier hosts. Si l’entrée ne s’y trouve pas, elle est alors dirigée vers le serveur de noms de domaine (DNS) associé à votre ordinateur dans les paramètres réseau.
Ce fichier peut être édité pour chaque ordinateur, ce qui présente de multiples avantages. Les utilisateurs peuvent utiliser ce fichier pour bloquer des sites Web spécifiques, ou les développeurs peuvent modifier le fichier hosts pour tester leurs sites Web en local sur leur machine.
Pourquoi pourriez-vous avoir besoin de modifier le fichier hosts ?
Lorsqu’un utilisateur ouvre un navigateur et effectue une recherche ou entre l’URL d’un site Web, l’ordinateur doit contacter l’adresse IP correspondante pour pouvoir communiquer avec le site Web en question.
Toutefois, comme le principal point de contact du système de réseau de l’ordinateur est le fichier hosts local, le fait de définir une adresse IP différente pour le nom de domaine peut inciter l’ordinateur à le transférer vers une IP différente.
Cette technique est souvent utilisée par les particuliers pour bloquer certains sites Web sur les ordinateurs ou les renvoyer vers un autre site. Cependant, ce n’est pas la façon la plus efficace de le faire, car les utilisateurs suffisamment connaisseurs peuvent modifier ou supprimer l’entrée dans le fichier hosts pour rétablir leurs paramètres réseau. Par contre, cette protection est suffisante pour empêcher un utilisateur novice d’accéder à des sites Web spécifiques, surtout qu’il n’a pas les droits de modifier son fichier hosts.
Une autre raison pour laquelle il faut envisager de manipuler le fichier hosts est d’exécuter son propre site Web déployé sur l’ordinateur local afin de le tester. D’autres ordinateurs sur le même réseau pourraient alors utiliser l’adresse IP locale correspondant au nom de domaine pour tester le site Web en test sans passer par Internet.
Comment modifier le fichier hosts sur un ordinateur local ?
Le fichier hosts est un fichier système qui peut être édité avec le bloc-notes intégré. Il s’agit d’un simple fichier texte. Toutefois, pour l’éditer, il faut disposer de privilèges administratifs. Un utilisateur standard ou un compte d’utilisateur ayant des privilèges inférieurs à ceux d’un administrateur ne peut pas modifier ce fichier. Dans ce cas de figure, un message d’erreur est affiché.
Le fichier hosts se trouve à l’emplacement suivant sur le disque dur système (le plus souvent C:) :
C:\Windows\System32\drivers\etc\hosts
Pour l’ouvrir, il suffit de l’éditer avec un éditeur de texte.
Pour comprendre le fonctionnement du fichier hosts, rajoutez la ligne suivante à la fin du fichier hosts, puis sauvegardez-le.
0.0.0.0 : www.google.fr
Essayez maintenant d’accéder au site www.google.fr. Le navigateur Web affiche le message d’erreur Ce site est inaccessible (ou un message équivalent qui varie selon le navigateur). La ligne qui a été ajoutée dans le fichier hosts renvoie l’URL de Google vers l’adresse IP 0.0.0.0, qui n’est pas l’adresse IP de Google qui devient donc inaccessible sur l’ordinateur.
Il suffit de supprimer cette ligne du fichier hosts, puis de le sauvegarder pour supprimer le blocage. Cette technique élémentaire peut être mise en œuvre pour bloquer n’importe quel site Web.
Comment modifier le fichier hosts en utilisant la ligne de commandes ?
Vous pouvez également utiliser l’Invite de commandes pour modifier le fichier hosts en quelques étapes simples.
- Ouvrez l’Invite de commandes avec des privilèges administrateur (Windows + X -> Invite de commandes (admin)).
- Entrez la commande suivante pour ajouter une nouvelle entrée au fichier hosts :
echo <IPAddress> <URLduSite> >> %WINDIR%\System32\Drivers\Etc\Hosts
L’adresse IP et le nom de domaine correspondant seront instantanément ajoutés au fichier hosts. Toutefois, si vous souhaitez le supprimer, vous devrez utiliser la méthode conventionnelle en ouvrant le fichier hosts dans le bloc-notes et en supprimant les entrées manuellement.
Comment éditer un fichier hosts sur un ordinateur distant ?
La modification manuelle du fichier hosts sur un grand nombre de PC peut être une manipulation fastidieuse. Vous pouvez utiliser la méthode suivante pour modifier à distance le fichier hosts sur un autre ordinateur et apporter les modifications nécessaires pour un tel scénario.
Cette manipulation à distance comporte quelques étapes supplémentaires par rapport à la procédure effectuée en local. Toutefois, cette méthode reste préférable à une intervention physique sur chaque ordinateur et à la modification du fichier hosts sur chaque machine.
Ce qui suit est valable pour les ordinateurs qui se trouvent sur le même réseau/domaine que l’ordinateur source.
- Sur l’ordinateur distant, entrez la commande suivante dans Exécuter (Windows + R) et redémarrez ensuite l’ordinateur :
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
Cette commande ajoute un nouveau DWORD au registre Windows qui va vous permettre d’accéder à l’ordinateur à distance via l’outil PsExec.
PsExec est un utilitaire développé par Microsoft permettant l’accès à distance à d’autres ordinateurs. Cela permet aux utilisateurs d’effectuer des tâches à distance sur des ordinateurs sans être physiquement présents sur place.
Lorsque le DWORD a été ajouté à l’ordinateur ou aux ordinateurs sur lesquels vous souhaitez modifier le fichier hosts, effectuez les tâches suivantes sur l’ordinateur source (à partir duquel vous travaillerez).
- Téléchargez l’utilitaire PsExec. Une fois téléchargé, extrayez-le dans un seul dossier.
- Lancez maintenant l’Invite de commandes avec les privilèges d’administration.
- Naviguez vers le dossier PsExec à partir de l’Invite de commandes.
- Entrez la commande suivante pour lancer l’Invite de commandes de l’ordinateur distant :
psexec \\x.x.x.x -u administrateur -p admin123 cmd
- Remplacez l’adresse IP (ici x.x.x.x) par le nom ou l’adresse IP de l’ordinateur distant, et le nom d’utilisateur (ici administrateur) et le mot de passe (ici admin123) après -u et -p, respectivement.
Vous avez maintenant exécuté l’Invite de commandes sur un ordinateur distant. Utilisez la commande suivante pour ajouter une entrée au fichier hosts du PC distant tout en remplaçant l’adresse IP et l’URL correspondante de votre choix (www.google.fr dans l’exemple ci-dessous) :
echo 0.0.0.0 www.google.fr >> %WINDIR%\System32\Drivers\Etc\Hosts
- Vous pouvez maintenant appuyer sur les touches de raccourci Ctrl + C pour vous déconnecter de l’Invite de commandes de l’ordinateur distant et passer à la connexion sur un autre PC.
Conclusion
Bien que le fichier hosts soit important pour le système Windows, il ne l’affecte en aucune façon si vous décidez de le supprimer volontairement ou involontairement. À moins que vous n’ayez apporté certaines modifications au fichier, il ne se passe rien de grave si vous supprimez le fichier dans son intégralité. Il peut toujours être remplacé par un fichier vierge portant le nom “hosts”.
En outre, toute modification apportée au fichier hosts peut être annulée à tout moment. Par conséquent, effectuer des tests avec ce fichier ne peut pas être considéré comme dangereux pour le système. Toutefois, il reste prudent de créer une sauvegarde du fichier original au cas où.