![]() |
Le fichier hosts Adresse : http://www.sosordi.net/Article/117-6-fichier-hosts |
|
Auteur : POLO62 Publié le : 17/02/2007 |
|
Le fichier Hosts Voilà une chose qui pour beaucoup d'entre nous est un grand mystère. Voilà autant de questions auxquelles nous allons essayer de trouver une réponse. Le fichier Hosts est un acteur de la résolution DNS vous allez me dire Qu'est-ce que cette bète là ? Et bien voilà une Question qui occupera cette première partie.
La résolution DNS (Domain Name System) Lorsque vous voulez vous rendre sur votre site préféré par exemple SOSordi.net vous entrez tout naturellement cette adresse dans la barre d'adresse de votre navigateur seulement votre ordinateur, pour communiquer avec un autre ordinateur, a besoin de savoir avec exactitude à qui il va demander ou envoyer des informations et pour cela il utilisera son adresse IP. Cette résolution DNS transforme donc un nom de domaine en une adresse IP Vous pouvez dors et déjà constater que si vous entrez dans la barre d'adresse de votre navigateur cette adresse IP vous arriverez directement sur le site. Cette retranscription a pour seul but de vous faciliter la vie. Imaginez vous devoir entrer l'adresse IP d'un site pour y accéder et essayez de retenir de tête toutes les adresses IP des sites que vous visitez régulièrement, cela est pratiquement impossible d'ou l'emploi d'un nom de domaine beaucoup plus facile à retenir. Pour trouver l'adresse IP correspondant au nom de domaine que vous avez entré votre ordinateur interrogera successivement plusieurs bases de données dans un ordre bien défini afin d'accélérer la recherche et ce jusqu'à ce qu'il trouve la correspondance et donc trouve l'ordinateur ou le serveur hébergant la page demandée. Cet ordre est défini comme suit:
Attention ce fichier peut aussi être modifié par certains programmes malicieux afin d'empêcher l'accès au serveur de mise à jour de votre antivirus ou encore rediriger une page légitime vers une autre piégée.
Important: Ceci représente les étapes logiques du processus de résolution DNS qui, si l'une d'entre elle est absente, poursuivra son chemin vers la suivante. Cela explique que votre ordinateur ne dispose pas obligatoirement d'un fichier Hosts qu'il suffira alors de créer pour que cette étape soit prise en compte. Si le nom de domaine demeure inconnu malgrès toutes ces recherches une erreur vous est envoyée «serveur introuvable»
Quelques notions de Propagation DNS La Propagation DNS représente le temps nécessaire pour que la création d'un nouveau site et son affectation d'une adresse IP soit connues par tous les échelons de la résolution DNS. Ce laps de temps peut s'échelonner entre quelques minutes seulement (si vous utilisez le même serveur DNS primaire que l'hébergeur du site) et peut aller jusqu'à plusieurs heures si votre serveur DNS primaire est localisé sur un autre serveur ROOT. Ce temps correspond à la durée nécessaire pour la mise à jour de toutes ces bases de données intermédiaires. (Mise à jour des serveurs DNS) Cette propagation DNS constitue donc le point noire des hébergeurs qui n'ont pas d'autre choix possible que d'assigner une adresse IP fixe. C'est à dire qu'elle ne changera pas comme ca peut être le cas pour votre connexion Internet. Cette adresse Fixe permet justement d'éviter que le site ne soit inaccessible par les internautes pendant le temps de cette propagation ce processus n'étant alors subi qu'une seule fois lors de la mise en route du site. Conclusion: Vous constaterez que votre Fichier Hosts est pour vous la seule solution d'intervention dans ce processus de résolution, le cache DNS étant quant à lui généré automatiquement à partir des sites que vous avez déjà visités donc dont le processus de résolution est déjà passé au moins une fois par le fichier Hosts. Partant de ce principe on peut donc en déduire que votre fichier Hosts constitue le premier maillon de la chaine. |
|
Comment trouver l'adresse IP correspondant à un nom de domaine Il existe des moyens à votre disposition vous permettant de connaitre l'adresse IP affectée à un serveur mais avant cela nous allons voir quelques termes techniques à ne pas confondre Tout au long de cet article vous trouverez des termes employés qui souvent portent à confusion et que je pense important à préciser. SOSordi.net est un nom de domaine ce nom de domaine précédé des mentions http:// constitue l'adresse du site http://www.sosordi.net ou plus simplement http://sosordi.net L'adresse IP est l'identifiant Unique du serveur hébergeant le site SOSordi.net Si vous avez compris ces petites différences nous pouvons continuer. Pour connaitre l'adresse IP d'un site ainsi que quelques informations nous allons donc faire ce que l'on appelle techniquement un WHOIS Je ne vais pas vous assommer d'explications techniques pour vous expliquer comment cela fonctionne etc mais uniquement vous donner un exemple concret. Rendez-vous sur ce site http://www.all-nettools.com/toolbox (Ce site est un exemple, il en existe d'autre fournissant les même services) Dans la rubrique SmartWhois entrez suivant ce que vous cherchez soit l'adresse IP soit le nom de domaine puis cliquez sur GO! pour lancer la recherche Voici donc les résultats obtenus avec SOSordi.net en recherchant le nom de domaine puis l'adresse IP
Attention cette méthode peut aussi être employée pour tester l'adresse IP d'un ordinateur personnel seulement les renseignements fournis seront interprétés différemment Par exemple ici en envoyant une requête à partir de mon adresse IP de connexion
Pour info: Le serveur DHCP (Dynamic Host Configuration Protocol) a pour rôle d'affecter individuellement une adresse IP aux différents ordinateurs d'un même réseau dans la plage qui lui est affectée. Ces adresses ainsi obtenues sont généralement dynamiques c'est à dire qu'elle changent au bout d'un laps de temps donné. Cela est très souvent le cas en ADSL A titre d'exemple sur un réseau local muni d'un routeur c'est ce dernier qui jouera le rôle de serveur DHCP en attribuant à chaque ordinateur une adresse IP et donc un identifiant unique sur le réseau. Pour trouver l'adresse IP correspondant à un nom de domaine il y a une seconde possibilité faisant appel aux commandes MSDOS et plus particulièrement à la commande PING Cette commande permet à l'origine d'effectuer un test de connexion ce test permet de déterminer si votre ordinateur peut communiquer avec ce nom de domaine seulement pour que l'ordinateur communique il lui faut l'adresse IP par conséquent l'ordinateur interrogera les différentes bases de données pour la trouver et vous la renverra lors du résultat du test. Remarque. Un ping sur une adresse IP ne renverra pas le nom de domaine En reprenant notre exemple procédez comme suit:
Nous verrons le moment venu que cette commande pourra être utile pour contrôler qu'un blocage ou une redirection par le fichier hosts soit efficace |
|
L'adresse IP
Avant de se jeter dans les applications qu'offre le fichier Hosts il est important de comprendre ce qu'est une adresse IP qui une fois acquis vous permettra de comprendre très facilement la suite de cet article. Nous nous contenterons ici d'une description sommaire excluant les diverses catégories ou toutes données non indispensables à la compréhension. L'adresse IP constitue l'identifiant unique d'un ordinateur (ou serveur). Ce qui signifie qu'il ne peut y avoir deux ordinateurs ayant la même adresse IP connectés sur un même réseau simultanément. (Internet étant schématiquement un réseau à l'échelon mondial). Comme vu précédement l'adresse IP se caractérise par 4 séries de 3 chiffres allant de 0 à 255. Les adresses IP sont donc attribuées par un organisme unique (l'ICANN Internet Corporation for Assigned Names and Numbers) Vient ensuite le rôle de votre prestataire de service, en l'occurrence pour le cas qui nous intéresse votre FAI, qui attribut à son tour une adresse IP (dans la plage qui lui a été accordée) à chacun de ses abonnés. Important: Certaines adresses IP ont un rôle bien défini et ne peuvent donc être attribuées. Ces adresses concernent les plages réservées par exemple pour votre réseau local. ou réseau d'entreprise Ces plages sont de 10.0.0.1 à 10.255.255.254 de 172.16.0.1 à 172.31.255.254 et enfin de 192.168.0.1 à 192.168.0.254 il est donc théoriquement impossible de retrouver une de ces adresses sur Internet. D'autres adresses IP sont réservées et pour le cas qui nous intéresse aujourd'hui il sagit tout particulièrement de l'adresse 127.0.0.1 aussi appelée adresse de rebouclage. C'est la raison pour laquelle vous trouverez toujours dans un fichier hosts la ligne 127.0.0.1 localhost Pour simplifier si vous entrez cette adresse ou ce nom de domaine dans votre navigateur Internet vous tomberez sur un message d'erreur disant que la connexion a échoué. Il est donc impossible de vous y connecter (sauf dans le cas spécifique ou un serveur est installé en local la page affichée sera alors celle de ce site ou application locale) Cette particularité est très largement employée dans le fichier Hosts pour bloquer l'accès à une adresse IP ou un nom de domaine défini car il suffit de dire à ce fichier que le nom de domaine correspond à l'adresse IP 127.0.0.1 ce qui renverra la requète sur l'ordinateur lui même est donc connexion impossible. |
|
le fichier Hosts L'étude sommaire du mécanisme de la résolution DNS nous apprend que le fichier Hosts est le premier rouage de ce mécanisme si complexe et comme il serait totalement inutile d'en être tombé à cette déduction si on ne pouvait l'utiliser à notre avantage nous allons maintenant nous attarder à ce fameux fichier et les multiples applications que cela nous offre. Ou trouver le fichier Hosts : L'emplacement du fichier varie suivant votre version de Windows cependant l'utilité reste la même. Windows 95/98 c: \ windows Les ordinateurs sous Linux ou MAC utilisent aussi un fichier hosts Point particulier Le fichier Hosts ne dispose d'aucune extension et il ne peut être différencié d'un simple fichier texte que de part son icone comme le démontre cette image. Attention le fichier hosts.txt ici représenté à gauche n'est pas valide et ne sera pas reconnu dans le processus de résolution DNS
il conviendra donc pour éviter toute source d'erreur d'afficher les extensions connues en suivant ces étapes Dans l'explorateur, cliquez sur Outils pui choisissez Options des dossiers... Dans la fenètre que s'affiche rendez vous sur l'onglet Affichage puis décochez la case Masquer les extensions des fichiers dont le type est connu cliquez successivement sur les boutons Appliquer et OK pour voir les changements Note : Si le fichier hosts est absent ou invisible dans cette même fenêtre Décochez la case Masquer les fichiers protégés du système d'exploitation (recommandé) et Cochez l'option Afficher les fichiers et dossiers cachés cliquez successivement sur les boutons Appliquer et OK pour vérifier que le fichier est réellement absent .
Remarque pour accepter les modifications le fichier Hosts ne doit pas posséder d'attribut "lecture seule" il conviendra donc de contrôler ce point avant de l'ouvrir
Faites un clique droit sur le fichier hosts et choisissez propriété, Dans la fenêtre qui s'ouvre décochez la case lecture seule (si cochée) puis cliquez successivement sur les boutons Appliquer puis OK Utiliser le fichier Ce fichier doit être ouvert avec le bloc notes ou Wordpad, pour l'ouvrir double cliquez sur le fichier hosts, une fenêtre s'ouvrira vous permettant de sélectionner le programme adéquat Choisissez le bloc-notes puis validez par OK. Voila donc le fameux fichier qui s'ouvre à vous. Voici par exemple ce que j'obtiens avec Windows XP (fichier d'origine) Comme vous pouvez le constater certaines lignes commencent par un signe "#", ce signe est placé au début de chaque ligne de commentaire. Lors du processus de résolution ces commentaires ainsi identifiés seront ignorés ce qui signifie que ces lignes peuvent être upprimées sans le moindre risque et sans que cela n'occasionne le moindre changement dans la navigation ou le processus de résolution. Des commentaires peuvent être insérés n'importe ou dans le fichier Hosts de même si ce signe "#" apparait devant une ligne celle ci sera inopérante car interprétée comme un commentaire cette petite particularité peut se transformer en astuce si un jour vous ne parvenez plus à vous connecter à un site en particulier iet que vous suspectez une ligne il vous suffira alors de placer ce signe "#" au début pour la rendre inopérante et ainsi vérifier vos doutes. Suite à ces commentaires nous voyons la première ligne de notre fichier cette ligne se décompose de la manière suivante 127.0.0.1[espace]localhost 127.0.0.1 étant l'adresse IP et localhost son nom de domaine rattaché et plus précisément comme il a été expliqué dans le paragraphe traitant de l'adresse IP cette ligne spécifie à l'ordinateur que localhost (donc lui même) a pour adresse IP 127.0.0.1 Cette ligne ne doit en aucun cas être modifiée et doit toujours figurer en tête de votre fichier Hosts. C'est seulement après cette ligne que nous opèrerons des modifications par l'ajout de ligne en entrant l'adresse IP et le nom de domaine en fonction du but recherché (Blocage, redirection..). Après avoir opéré les modifications il suffit d'enregistrer le fichier (Fichier >>> enregistrer) Il conviendra, après avoir fermé le Bloc-notes, de s'assurer que le fichier est bien conforme, c'est à dire qu'il ne comporte aucune extension. Pour être parfaitement prise en compte une modification du fichier Hosts nécessite un redémarrage du système. |
|
Application
Maintenant que vous avez les bases suffisantes pour savoir exactement ce qu'engendrera une modification de votre fichier Hosts nous allons voir quelques applications possibles. Blocage Pour rappel: L'adresse IP 127.0.0.1 est par convention l'adresse de l'ordinateur lui même. Cette adresse entrée dans le navigateur nous renvoie vers une page d'erreur (connection impossible) c'est donc fort logiquement que nous utiliserons cette particularité pour Bloquer un site en lui affectant l'adresse IP 127.0.0.1 Important: Un blocage via le fichier Hosts empêche toutes connexions vers le nom de domaine ou l'adresse IP et ce dans les 2 sens montant ou descendant Attention : Les personnes ayant un serveur d'installé en local type easyPHP ou Wamp utiliserons l'adresse IP 0.0.0.0 cela afin de ne pas être redirigé sur leur site ou application locale mais bien vers un blocage de la connexion en provenance ou destination du nom de domaine. L'emploi de cette adresse pour le blocage ne change au rien au fait que la première ligne de leur fichier hosts sera toujours 127.0.0.1 localhost Comment procéder: Ouvrez votre fichier hosts et sous la ligne 127.0.0.1 localhost ajoutez la ligne 127.0.0.1[espace]nom_de_domaine_à_bloquer par exemple 127.0.0.1 sosordi.net Une fois les modifications enregistrées et après avoir redémarré la machine vous pouvez constater le résultat: La connexion y est tout simplement impossible ! et ce quelque soit le navigateur ou le programme employé. Application: Cette méthode a de gros avantages notement permettre le blocage des sites indésirables ou nuisant à votre tranquillité (serveur de Pub peuvent aussi être bloqués efficacement avec ce système). Remarque: Dans le cas ou vous souhaitez bloquer l'accès à un site piégé il serait risqué de tenter une connexion directement à partir du navigateur c'est pourquoi il est préférable de commencer par un test ping Pour ce test nous procèderons exactement de la même façon que pour trouver l'adresse IP d'un site. seulement nous nous intéresserons cette fois aux résultats.
La méthode employée consistant à "ping'er" un nom de domaine a ses limites car certaines configuration de serveur peuvent bloquer ces requètes ping et donc vous indiquer qu'aucun paquet n'ai été reçu. Cependant dans le cas prècis détaillé dans ces exemples notre priorité est de vérifier que le nom de domaine est bel et bien redirigé vers 127.0.0.1 par le fichier Hosts. Redirection Rappel : Le fichier hosts permet de dire à l'ordinateur de se connecter à un ordinateur bien précis (identifié à partir de son adresse IP) lorsque que son adresse est entrée dans la barre d'adresse du navigateur. Nous allons donc dans cet exemple rediriger le terme "super" vers sosordi de sorte à ce qu'il vous suffise de taper "super" dans votre barre d'adresse pour être dirigé vers SOSordi.net Pour ce ouvrez le fichier hosts et ajoutez cette ligne 67.19.10.243 super Rappel: il y a toujours au moins 1 espace entre l'adresse IP et le nom de domaine ou plus généralement entre les deux données Enregistrez les modifications, redémarrez votre ordinateur et faites l'essai Ouvrez votre navigateur et entrez "super" en lieu et place de l'adresse http://sosordi.net Vous constatez alors que vous êtes effectivement connecté à SOSordi.net mais que votre barre d'adresse affiche l'adresse http://super Note: L'exemple ci dessus vous montre comment attribuer un terme ou un nom spécifique à votre site préféré mais l'application peut être toute autre comme par exemple rediriger un site vers un autre site en employant la même méthode. Application: Cette application des possibilités du fichier hosts vous permet de renommer et simplifier grandement l'adresse que vous entrez dans votre navigateur. mais aussi et surtout en sécurise tout le processus de résolution DNS et vous donne un outil permettant de lutter contre le Phishing. Cette technique consistant à envoyer un mail prétendument envoyé par votre banque (par exemple) dans lequel se trouve un lien ou il vous est expressement demandé de cliquer pour ensuite y indiquer vos identifiants et mots de passe de connexion.Le fait de renommer le nom de domaine de votre banque dans le fichier Hosts vous permet, d'un coup d'oeil dans la barre d'adresse, de constater que le site n'est justement pas votre banque. même si l'apparence en est très rapprochante. |
|
Le fichier hosts et la sécurité informatique Vu qu'il est possible via ce fichier hosts de bloquer tout accès entrant ou sortant vers un site ou plus généralement un serveur son application dans le domaine de la sécurité informatique en devient un excellent moyen de prévention. Pour ce nous l'utiliserons tout simplement pour bloquer une liste de sites connus comme étant malicieux ou nuisibles. Vous allez me dire comment faire pour trouver une telle liste et fort heureusement des personnes ont eu l'excellente idée de regrouper ces sites vous permettant ainsi de modifier votre fichier hosts en bloquant l'accès à des milliers de sites sans vous obliger de faire des recherches tous azimuts. Bien entendu il existe plusieurs listes plus ou moins conséquentes je vais donc vous donner seulement quelques liens qui vous permettrons de faire votre choix.. A titre personnel je vous déconseille de piocher plusieurs listes et les ajouter à votre fichier l'une à la suite de l'autre car vous vous retrouverez forcement avec des doublons et un fichier hosts contenant plusieurs centaines de milliers de sites bloqués et à moins de souffrir de paranoïa aigu je ne vois pas l'interet d'aller jusque là. D'autant plus qu'une liste extrêmement longue aurait pour gros désavantage de ralentir très sensiblement la navigation. Mes listes L'incontournable liste de MVPS.org Liste très complète et régulièrement mise à jour Les listes d'assiste.com Cette liste est très large tout en offrant un tri par type de site à bloquer (Publicités, adware, warez...) la liste de host-file.net Une liste complète de sites indésirables la encore régulièrement mise à jour Une liste moins ambitieuse mais qui pour moi est très suffisante et celle de rlwpx.free.fr Les listes sont maintenues à jour et triées par catégories (publicité, xxx, ...) et une qui confirme les applications du fichier hosts vu précédemment anti hameçonnage (anti phishing) Attention : Une liste très importante peut entrainer un fort ralentissement de votre connexion internet. Cependant une astuce consistant à désactiver le service "client DNS" de Windows devrait vous permettre de retrouver une navigation normale. Pour désactiver ce service Démarrer >>>> Executer >>> taper services.msc puis valider par OK Dans la liste s'affichant rechercher le service Client DNS , double cliquez dessus et a type de démarrage choisissez Désactivé , cliquez sur le bouton Arrêter puis cliquez successivement sur les boutons Appliquer et OK.fermez le gestionnaire des services et refaites un essai. Important: Cette manipulation désactive le cache DNS de votre ordinateur
Comme nous l'avons vu ce cache permet d'accélérer la navigation sur Internet en stockant les correspondances des sites déja visités. ors en le désactivant chaque requète vers un site ne figurant pas dans votre fichier hosts sera logiquement renvoyée vers les serveurs DNS de votre FAI. Je vous conseille donc pour améliorer votre navigation et donc diminuer au minimum l'envoi de requète extérieure de mettre en application les différents points de cet article en cherchant l'adresse IP des sites que vous consultez très souvent puis en les ajoutant à votre fichier hosts (cela n'aurait aucun interet d'allonger outrageusement la liste du fichier Hosts avec des sites vu seulement une fois par mois) Cette méthode diminuera considérablement le nombre de requètes envoyées au serveur DNS et donc améliorera un peu la navigation sur vos sites préférés (faut pas non plus vous attendre à des miracles hein...). Important:
Le fichier Host ne remplace en aucun cas un par feu. Tout deux ayant des fonctions et un mode de fonctionnement totalement différent.
La fonction du fichier Host est de donner à l'ordinateur l'adresse IP de l'ordinateur distant avec lequel il communiquera en fonction du nom de domaine entré.
Toute les applications ci dessus ne sont qu'un détournement de cette fonction à notre avantage.
Le par feu quand à lui permet de filtrer ou interdire l'accès à internet à un programme bien défini et permet donc de savoir exactement qui se connecte.
Si une nouvelle application cherche à se connecter vers un nuveau site le par feu vous demandera si vous l'autorisez ou non, le fichier Hosts lui ne demandera jamais rien et nécessite d'être régulièrement mis à jour.
|