Comment modifier le fichier des hôtes sur macOS (Mac OS X)

 

Modifier le fichier hôte OS X

Le fichier d’hôtes de votre Mac est un document texte petit mais important qui a la capacité de mapper des noms d’hôtes (tels que votre hôte local) et des sites Web (tels que TutorielsGeek.com) avec des adresses IP spécifiées. Seul votre hôte local est généralement mappé par défaut sur votre Mac et vous comptez sur le système de noms de domaine public (DNS) pour pointer la plupart des sites Web vers le bon site Web.

Cependant, si vous développez un nouveau site Web ou pour d’autres raisons, vous souhaiterez peut-être pointer une URL spécifique vers un endroit autre que le site Web public existant ou vous pouvez utiliser une URL qui n’est pas publique pour développer le nouveau site Web et non rendez-le public jusqu’à ce que vous ayez terminé la construction du site.

Qu’est-ce que le fichier Hosts sur un Mac?

Tout d’abord, il convient de noter que la modification du fichier / etc / hosts sur votre Mac peut entraîner des problèmes, donc ne le faites que si vous êtes un utilisateur expérimenté de macOS.

Le fichier hosts est un fichier que votre Mac lit avant le DNS public pour décider où une URL doit pointer. Une URL ou un nom d’hôte n’a même pas besoin d’exister réellement sur Internet public pour que vous puissiez l’ajouter au fichier hôte. Par défaut, votre fichier hôte contient uniquement votre nom d’hôte local mais vous pouvez facilement y ajouter. Voici un exemple de fichier hôte avec l’hôte local standard, puis à quoi pourraient ressembler les entrées d’un serveur de développement et de production pour la conception Web ou le projet de développement Web

#these are the defaults found on every Mac.
127.0.0.1 localhost

255.255.255.255 broadcasthost

::1 localhost

# below are the development and production web servers.

192.0.2.2 dev.example.com.com

192.0.2.3 example.com www.example.com

Comment modifier votre fichier / etc / hosts

Étant donné que / etc / hosts ne peut être modifié que par des utilisateurs disposant de privilèges administratifs, il est préférable d’utiliser le terminal de votre Mac afin que vous puissiez utiliser la commande sudo afin de modifier efficacement le fichier avec des privilèges d’administrateur.

Tout d’abord, ouvrez le Terminal application où vous trouverez une invite de commande qui ressemblera à ceci:

mymac:~ user$

Entrer cd / etc puis Revenir pour changer de répertoire dans le répertoire / etc où vous trouverez le fichier hosts comme ceci:

mymac:~ user$ cd /etc

le nano L’éditeur de texte est l’éditeur de texte de terminal le plus simple. Entrer sudo nano hosts pour ouvrir le fichier hosts pour le modifier comme ceci:

mymac:~ user$ sudo nano hosts

Saisissez ensuite les noms d’hôte et les adresses IP vers lesquels vous souhaitez qu’ils pointent et enregistrez le fichier texte en saisissant Control-X.

base de données hôtes macOS

Bien que / etc / host soit principalement utile pour les concepteurs et développeurs Web, vous pouvez l’utiliser pour d’autres choses, qui seront résumées ci-dessous. Ensuite, vous voudrez vider votre cache DNS (comme décrit ci-dessous (pour vous assurer que vos modifications prennent effet, alors, bien sûr, vous voudrez tester vos modifications en accédant aux noms d’hôtes ou sites Web modifiés dans un navigateur Web).

Bloquer les adresses IP

Par défaut, le fichier / etc / hosts est relativement simple. Il contient un certain nombre de lignes de texte descriptif qui sont «commentées» avec le signe dièse ou numérique (également appelé dièse ou hashtag) (#).

Toute ligne commençant par un signe # est un commentaire et n’est pas lue par le fichier / etc / hosts. Les commentaires sont donc la façon dont vous pouvez ajouter des notes à votre fichier hosts et commenter toutes les lignes que vous souhaitez que le fichier / etc / hosts arrête de lire en tant qu’entrées mais que vous ne souhaitez pas supprimer au cas où vous en auriez besoin à l’avenir.

Pour chaque ligne, tout texte après le signe dièse est ignoré par l’ordinateur, ce qui en fait un bon moyen d’ajouter des notes et des descriptions à vos fichiers. Il contient également des valeurs IP par défaut pour localhost et broadcasthost. Pour modifier le fichier, vous ajouterez vos propres lignes après la diffusion.

En plus de tester les sites Web nouvellement développés et les migrations d’hébergement Web, une autre raison de modifier le fichier hosts est de bloquer l’accès à des sites Web spécifiques.

Dans notre exemple, nous prétendons que l’ordinateur que nous utilisons est un appareil que nous voulons utiliser exclusivement pour le travail, sans nous laisser distraire par Facebook sur notre machine de travail.

Pour ce faire, saisissez l’adresse IP que vous souhaitez attribuer, suivie de deux onglets et du nom d’hôte. Dans notre cas, nous voulons bloquer Facebook, nous allons donc mapper www.facebook.com à 0.0.0.0 qui, en tant qu’adresse IP non valide, entraînera une erreur.

Maintenant, chaque fois que nous essayons d’aller sur www.facebook.com à partir de notre Mac, le navigateur Web ne parvient pas à charger la page, ce qui, nous l’espérons, nous encourage à reprendre le travail!

Réacheminer les adresses Web

Alternativement, vous pouvez entrer l’adresse IP d’un site valide au lieu de 0.0.0.0, ce qui conduira les utilisateurs à tenter d’accéder à Facebook vers le site de votre choix.

Pour déterminer l’adresse IP d’un site Web, vous pouvez utiliser la commande dig, fournie en standard avec macOS. Pour «creuser» le site via Terminal, il suffit d’ouvrir Terminal et d’exécuter la commande dig sur URL, qui renverra ensuite l’adresse IP en sortie.

$ dig www.TutorielsGeek.com +short
104.25.27.105

Remarque: L’option + short conserve la sortie uniquement aux informations dont nous avons besoin, qui est l’adresse IP.

Notez l’adresse IP renvoyée et utilisez-la dans le mappage de fichiers de vos hôtes Mac. Par exemple, Le New York Times Le site Web www.nytimes.com renvoie une adresse IP de 170.149.172.130. Si nous mappons cela sur Facebook dans notre fichier d’hôtes, chaque fois qu’une personne utilisant le Mac essaie d’aller sur Facebook, elle verra Le New York Times charger à la place.

Remarque: De nombreux sites Web ne vous permettent pas de mapper un nom de domaine à l’adresse IP actuellement mappée sur le site, vous obtiendrez donc une erreur de sécurité lorsque vous essayez.

Vous pouvez ajouter autant d’entrées au fichier hosts que vous le souhaitez en entrant de nouveaux mappages sur chaque ligne. Une fois que vous avez apporté les modifications souhaitées au fichier hosts, enregistrez-le à son emplacement actuel sur le bureau.

Ensuite, faites glisser et déposez le fichier hosts de votre bureau vers son emplacement d’origine à / private / etc. Si vous avez fermé la fenêtre du Finder pointant vers ce répertoire, utilisez simplement le Finder> Aller> Aller au dossier , discuté ci-dessus, pour le rouvrir.

Lorsque vous déposez le fichier hosts à son emplacement d’origine, macOS vous demandera quoi faire à propos du fichier hosts non modifié qui est déjà là. Choisissez «Remplacer», puis entrez votre mot de passe administrateur pour authentifier le transfert.

Le fichier d’hôtes modifié étant maintenant en place, lancez votre navigateur Web pour tester les modifications.

Vider votre cache DNS

Dans la plupart des cas, le nouveau mappage devrait fonctionner immédiatement, mais si vous ne voyez pas le comportement correct, vous devrez peut-être vider votre cache DNS, forçant le navigateur à lire à partir de votre fichier d’hôtes pour déterminer le mappage.

Pour vider le cache DNS sur votre Mac, ouvrez Terminal et utilisez la commande suivante (sudo vous permet d’exécuter cette commande en tant qu’administrateur de votre machine):

$ sudo killall -HUP mDNSResponder

Remarque: vous devrez saisir votre mot de passe administrateur pour exécuter cette commande.

Pour que votre Mac efface votre cache DNS, puis confirmez qu’il a effacé votre cache en faisant écho à une confirmation, entrez ces deux commandes séparées par un point-virgule comme indiqué ici:

$ sudo killall -HUP mDNSResponder;say DNS cache has been flushed

Modifier votre fichier Hosts Mac dans le terminal avec Nano

Les étapes de la section précédente sont assez faciles, mais si vous voulez éviter de copier le fichier d’hôtes, vous pouvez le modifier directement dans Terminal à l’aide de l’éditeur de texte UNIX Nano, qui est intégré à macOS.

Pour commencer, lancez Terminal, tapez la commande suivante et appuyez sur Retour. Comme pour toutes les commandes sudo, vous devrez également saisir votre mot de passe administrateur pour l’exécuter:
$ sudo nano /private/etc/hosts

Vous verrez maintenant le fichier hosts ouvert dans le Nano éditeur ou vigueur ou un autre éditeur de votre choix. Pour parcourir et modifier le fichier dans Nano, utilisez les touches fléchées de votre clavier.
Modifier le fichier hôte Nano
Tout comme nous l’avons fait avec la méthode TextEdit, ci-dessus, nous pouvons ajouter, modifier ou supprimer des mappages de noms d’hôte à volonté. Étant donné que nous avons lancé Nano à l’aide de sudo, toutes les modifications seront authentifiées et enregistrées directement dans le fichier hôte d’origine, sans qu’il soit nécessaire de le copier en dehors de son répertoire personnel.

Une fois les modifications terminées, appuyez sur Control-X pour quitter l’éditeur, Oui pour sauver, et Revenir pour remplacer le fichier d’hôtes existant.

Comme nous l’avons mentionné précédemment, assurez-vous de vider votre cache DNS si vous remarquez que vos nouveaux mappages ne fonctionnent pas correctement.

Nos exemples mentionnaient le blocage et la redirection de sites distrayants dans un environnement de travail, mais vous pouvez également utiliser ces étapes pour bloquer manuellement l’accès à des sites Web malveillants et, bien sûr, à d’autres utilisations également.

Si vous faites une erreur et que vous ne savez pas comment la corriger, vous pouvez toujours restaurer le contenu du fichier hôte par défaut en utilisant l’une des méthodes ci-dessus pour entrer les informations par défaut suivantes:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost::1 localhost
fe80::1%lo0 localhost

Quelle est la raison pour laquelle vous cherchez à modifier le fichier d’hôtes de votre Mac? Comment cela a-t-il fonctionné? Merci de nous en faire part dans les commentaires ci-dessous!