Le fichier hosts : un outil puissant pour les utilisateurs et les développeurs

Publié: 2020-09-23

Vous avez peut-être déjà entendu parler d'un fichier hosts, mais vous n'êtes pas sûr de ce que c'est ou de ce qu'il fait. Dans cet article, nous allons clarifier cela et expliquer exactement ce qu'est un fichier hôte et comment il fonctionne. Nous examinerons également quelques exemples de choses que vous pouvez réaliser avec. Commençons!

Qu'est-ce qu'un fichier hôte ?

Un fichier hosts se trouve sur votre ordinateur (qu'il s'agisse d'un Mac ou de Windows, il en aura un). Les fichiers hôtes sont ce que l'on appelle du "texte brut" et ils sont originaires d'il y a plusieurs décennies, où ils étaient à l'origine utilisés comme une forme précoce de "résolution de nom", dans laquelle l'activité Internet précoce était dirigée vers des serveurs cibles par ces fichiers. Cette utilisation a été remplacée par l'invention du système de noms de domaine (ou DNS) qui est encore utilisé aujourd'hui.

Le trafic Internet d'aujourd'hui s'appuie sur le système DNS pour « lui dire où aller ». Lorsque vous saisissez l'adresse d'un site Web dans votre navigateur, celui-ci "recherche" l'emplacement du serveur hébergeant ce site Web à l'aide du système DNS.

Cette requête commence au niveau du fichier hosts de votre ordinateur local. Si les détails requis (c'est-à-dire l'emplacement ou l'adresse IP du serveur requis) n'y sont pas trouvés, la requête continue vers les serveurs DNS externes jusqu'à ce que l'adresse soit trouvée. Cela permet ensuite au navigateur de se connecter au site Web et d'afficher le contenu que vous recherchez. Tout cela se passe en quelques millisecondes, ce qui est vraiment remarquable.

Jetez un coup d'œil au graphique ci-dessus. Comme vous pouvez le constater, les requêtes envoyées par votre ordinateur sont d'abord routées via le fichier hosts de votre ordinateur. Si le fichier hosts contient l'adresse IP du site Web que vous avez demandé, il y enverra directement votre navigateur. Si ce n'est pas le cas, il dirigera votre navigateur vers un serveur DNS qui devrait avoir les informations requises.

En s'appuyant sur cela, il est logique de conclure qu'en éditant le fichier hosts, nous pouvons contourner le DNS et faire en sorte que n'importe quel domaine se résolve en n'importe quelle adresse IP tout en utilisant notre navigateur. La possibilité de le faire peut avoir un certain nombre d'avantages et nous verrons.

Remarque : Avant d'examiner plus en détail le fichier hosts et la façon dont il peut être modifié, il convient de noter que le fichier hosts peut être la cible d'attaques malveillantes. Pour cette raison, il vaut la peine de changer ses propriétés en "lecture seule" lorsque vous avez terminé d'apporter des modifications.

Modification du fichier hosts

La modification du fichier hosts sur votre ordinateur est très facile à faire et peut parfois être incroyablement utile. Voyons comment vous pouvez facilement modifier le fichier hosts sous Windows, Linux et Mac.

Comment modifier le fichier hosts sur Windows 10

Le fichier peut être situé dans "C:\Windows\System32\drivers\etc"

Emplacement du fichier Hosts - Windows

Lors de l'ouverture du fichier hosts avec un éditeur de texte comme le bloc-notes, vous verrez quelque chose comme ceci (n'oubliez pas de "Exécuter en tant qu'administrateur" lorsque vous y êtes invité).

Contenu du fichier Hosts

Sous le contenu existant (autour de la ligne 24 dans notre exemple ci-dessus), vous pouvez saisir l'adresse IP cible que vous souhaitez atteindre, puis un espace, puis le nom de domaine. Cela ressemblera approximativement à ceci :

Notez que le symbole "#" est utilisé pour les commentaires. Tout ce qui est écrit après le "#" dans la même ligne sera ignoré. Vous pouvez l'utiliser comme étiquette pour étiqueter les modifications apportées à votre fichier hosts, par exemple :

 # my router's alias 192.168.1.1 myrouter.com

Comment modifier le fichier hosts sur une distribution Linux

Sur Ubuntu par exemple, le chemin complet vers le fichier hosts est /etc/hosts. Vous pouvez ouvrir le fichier avec votre éditeur (nous avons utilisé l'éditeur Nano dans cet exemple). Entrez votre mot de passe sudo lorsque vous y êtes invité.

Emplacement du fichier Hosts - distribution Linux

Une fois cela fait, vous pouvez ajouter des lignes comme nous l'avons fait pour Windows.

Comment modifier le fichier hosts sur MacOS

Sur MacOS, le chemin d'accès complet au fichier est /etc/hosts. Après avoir lancé une fenêtre de terminal, ouvrez le fichier hosts à l'aide de votre éditeur de texte.

  1. Tapez sudo nano /private/etc/hosts et appuyez sur Retour.
  2. Entrez le mot de passe demandé. Vous aurez maintenant le fichier hosts ouvert dans l'éditeur Nano.
  3. Naviguez sous le contenu d'origine dans le fichier hosts et modifiez le fichier comme décrit pour Windows et Linux. > adresse IP cible > un espace > nom de domaine
  4. Appuyez sur Control-O pour enregistrer le fichier.
  5. Si les modifications ne s'affichent pas, videz le cache avec > dscacheutil -flushcache

Maintenant que nous comprenons comment le fichier hosts peut être modifié sur votre machine locale, examinons quelques choses utiles que vous pouvez faire avec cela.

Principales raisons de modifier le fichier hosts

Il existe de nombreuses raisons pour lesquelles vous pourriez vouloir modifier votre fichier hosts. Nous allons passer en revue quelques-uns d'entre eux ci-dessous.

Lorsque vous testez le développement d'un site Web

Supposons que vous êtes un développeur WordPress travaillant sur une nouvelle version du site Web de votre client qui est actuellement en ligne sous le domaine « mycompany.com ». Vous apportez des modifications à une version locale du site Web (qui a été enregistrée sur votre ordinateur).

Le problème que vous aurez est que toute référence dans le code au domaine "monentreprise.com" verra votre navigateur vous diriger vers la version en direct du site plutôt que vers la version locale du site, ce qui signifie qu'il est presque impossible de tester le modifications que vous avez apportées. Dans ce cas, vous avez quelques options :

  1. Achetez un domaine temporaire et pointez-le vers l'adresse IP où se trouve la version en cours de développement.
  2. Déployez le site en direct sur un serveur intermédiaire.
  3. Utilisez le fichier hosts pour pointer temporairement "mycompany.com" vers une adresse IP/un serveur différent localement.

Donc, à moins que vous n'aimiez gaspiller de l'argent sur des domaines temporaires, une excellente solution à ce problème consiste à utiliser le fichier hosts et à faire en sorte que le domaine se résolve à l'endroit où votre travail est en cours ou sera.

Pour ce faire, il vous suffit de saisir le nom de domaine et l'adresse IP du serveur sur lequel vous travaillez (comme nous l'avons décrit précédemment). Si par exemple l'adresse IP est 138.201.141.25, vous modifierez le fichier hosts pour lire :

Il en va de même si vous souhaitez ajouter le domaine www. Vous pouvez le faire en ajoutant simplement une deuxième ligne comme celle-ci :

Ou combinez les deux dans la même ligne comme ceci :

Notez également que l'utilisation du fichier hosts pour pointer vers vos fichiers locaux augmentera également légèrement la vitesse de votre navigation car votre ordinateur peut directement "demander" un fichier local et éviter de demander l'adresse IP à un serveur DNS et l'attente encourue pour recevoir sa réponse.

Éditer le fichier hosts comme celui-ci est extrêmement utile pour les développeurs pour tester leurs sites Web en cours de développement ou pour entreprendre d'autres types de travaux où il est utile de remplacer les serveurs DNS et, ce faisant, de contrôler l'accès aux sites Web et au trafic réseau.

Bloquer un site Web

Il existe BEAUCOUP de sites Web, dont beaucoup ne sont pas particulièrement agréables. En tant que tel, vous voudrez peut-être bloquer l'accès à ceux-ci (par exemple si vous avez des enfants qui utilisent votre ordinateur). Cela peut être accompli en acheminant la demande d'un site Web spécifique vers votre adresse IP locale (qui est normalement 127.0.0.1).

Précisons cependant que :

  • Les sites HTTPS ne seront pas bloqués à moins que vous n'incluiez www dans son adresse.
  • Lors de ces modifications, gardez à l'esprit que vous devrez vider le cache de votre navigateur pour que ces changements prennent effet.

Ainsi, par exemple, disons que vous vouliez bloquer l'accès à un site Web appelé www.badwebsite.com. Pour ce faire, vous devez entrer les éléments suivants dans votre fichier hosts :

 127.0.0.1 badwebsite.com www.badwebsite.com

Il en résultera que ce site Web sera inaccessible depuis votre ordinateur.

Vous pouvez également utiliser le fichier hosts pour bloquer les logiciels espions/réseaux publicitaires. Pour ce faire, dressez une liste de tous les sites de logiciels espions et noms de domaine des réseaux publicitaires que vous souhaitez bloquer et ajoutez-les à votre fichier d'hôtes, en les mappant à l'adresse IP 127.0.0.1 qui pointera toujours vers votre machine. De cette façon, votre navigateur ne pourra pas accéder à ces domaines.

L'un des avantages de cette opération est qu'après avoir bloqué ces sites indésirables, votre navigation sera plus sécurisée car vous ne pourrez pas accéder aux sites malveillants connus. Il peut également accélérer votre navigation car vous n'avez plus à attendre pendant que vous téléchargez des publicités à partir de sites de réseaux publicitaires.

Conclusion

En résumé, la modification du fichier hosts vous donne un contrôle total sur quel domaine se résout à quelle adresse IP localement sur votre machine. Cela a un certain nombre d'utilisations et d'avantages possibles. C'est toujours agréable d'avoir le contrôle et connaître votre chemin dans le fichier hosts de votre ordinateur vous donne juste ce… contrôle. Un outil puissant en effet !