Le fichier hosts ?
Presque un gros mot pour la plupart des utilisateurs lambda, mais qui a le mérite d'être facile à comprendre et puissant dans son utilisation.
Dans cet article, il n'y aura pas grand-chose de très technique.
1. Descriptif
Le fichier hosts est un simple fichier texte qui est d'office présent dans votre système, que vous utilisiez Microsoft Windows, GNU/Linux, Mac ou Unix. Il contient les correspondances entre adresses IP et un ou plusieurs nom(s) de domaine (comprendre par là un lien Internet comme wikipedia.fr par exemple).
Étant donné qu'il s'agit d'un fichier universel, il est pris en compte quel que soit le navigateur que vous utilisez (Mozilla Firefox et ses dérivés, Internet Explorer, Google Chrome, Safari, Opera, Midori, etc.) et la compatibilité de son contenu est totale.
2. Fonctionnement
Voici une ligne du fichier hosts : 127.0.0.1 www.google.fr.
Cette ligne veut dire que n'importe quel programme ou outil (votre navigateur, commande ping, et caetera) qui tentera d'accéder à www.google.fr sera redirigé à l'adresse du serveur ayant pour IP 127.0.0.1. Simple comme bonjour.
2.1. Généralités
Dans mon navigateur préféré, j'entre l'adresse www.google.fr : que se passe t-il ? Eh bien, le navigateur regarde dans le fichier hosts si www.google.fr est attribué à une adresse IP.
Si oui, alors www.google.fr vous amènera au serveur qui a l'adresse IP définie telle que dans ce dernier.
Si non, le navigateur interrogera divers serveurs spécialisés (serveurs DNS) afin de résoudre l'adresse IP de www.google.fr ; ce qu'on peut traduire par trouver, tout simplement.
Puis le navigateur affiche la page d'accueil de www.google.fr.
(Voir 3. Pour aller plus loin pour des détails plus techniques)
2.2 Avantage sur les logiciels tiers
Il existe quelques outils spécialisés qui permettent de bloquer un nom de domaine ou une adresse IP. C'est le cas de beaucoup de bloqueurs de publicités (anti-pub).
L'utilisation d'un fichier hosts modifié est différent dans l'approche mais identique dans le processus. Je m'explique : ces logiciels (ou modules pour votre navigateur) contiennent des bases de données des adresses IP et noms de domaine "mauvais" (serveurs espions, axés sur la pornographie, le piratage (warez), ou tout autres sujets qui ont une réputation dite mauvaise pour les éditeurs de ces logiciels ou modules).
Lorsque ces outils se rendent comptent que votre navigateur fait une requête à un de ces serveurs, ils bloquent leur affichage. Simple, net et sans bavure (ou presque*).
L'avantage premier du fichier hosts sur certains de ces outils est qu'il y a moins de requêtes ; c'est-à-dire qu'avec un fichier hosts bien configuré, mon navigateur n'essayera même pas d'envoyer une requête au serveur "mauvais", mais plutôt au serveur local (votre machine). Du coup, il ne s'agit plus là de bloquer l'affichage de la publicité puisqu'on ne l'a pas du tout téléchargée.
D'autres avantages sous forme de liste :
- aucun besoin de logiciel (ou module) tiers ;
- petit fichier texte -> pas de surcharge de votre machine ;
- facilité de modification ;
- utilisation transparente, ni logo ni icône nulle part ;
- navigation sur Internet nettement plus rapide, saine et agréable ;
- et j'en oublie certainement...
* Même si vous ne voyez pas la publicité, votre navigateur a parfois téléchargé et gardé en mémoire divers scripts et images.
2.3. Mise à jour
Bien entendu, un fichier hosts dépassé ne sert pas à grand-chose. C'est là qu'AdZHosts tombe à pic !
AdZHosts est maintenu par Alden MagiX et n'est ni plus ni moins qu'un ficher hosts optimisé et régulièrement mis à jour. Vous pouvez le trouver sur le site officiel [http://www.adzhosts.fr] et pour toute question/suggestion, il y a un forum où vous pourrez poster.
Pour les utilisateurs de GNU/Linux, Unix et certainement Mac, j'ai écrit un script Perl pour automatiser la mise à jour et "purifier" ce que notre ami Alden MagiX nous a concocté (par mesure de sécurité, non pas que je ne lui fasse pas confiance). Ce script se nomme adzhosts.sh (version anglaise) ou adzhosts-fr.sh (version française) et se trouve ici :
- [http://bobotig.fr/contenu/contrib/scripts/adzhosts.sh]
- [http://bobotig.fr/contenu/contrib/scripts/adzhosts-fr.sh]
Il est simple d'utilisation et explique tout ce qui se passe, rien n'est caché à l'utilisateur.
Bon à savoir,l'emplacement de ce fameux fichier hosts :
GNU/Linux et Unix : /etc/hosts
Mac OS(X) : /etc/hosts
Windows 95/98 : c:\windows\ **
Windows NT/2000 : c:\winnt\system32\drivers\etc\
Windows XP : c:\windows\system32\drivers\etc\
Windows 2008/Vista/Seven : c:\windows\system32\drivers\etc\hosts
OS/2 : boot\mptn\etc\hosts
** Le fichier n'existe peut être pas par défaut, un fichier HOST.SAM peut être présent, vous pourrez l'utiliser comme base de départ sans oublier de le renommer HOST sans aucune extension.
3. Pour aller plus loin
Cette partie est un peu plus technique.
Grâce à l'excellent strace, voyons comment procède la commande ping.
Commande effectuée : ping www.google.fr
Réponse :
PING www.google.fr (66.249.92.104) 56(84) bytes of data.
64 bytes from 66.249.92.104: icmp_req=1 ttl=59 time=22.6 ms
64 bytes from 66.249.92.104: icmp_req=2 ttl=59 time=32.3 ms
64 bytes from 66.249.92.104: icmp_req=3 ttl=59 time=20.7 ms
64 bytes from 66.249.92.104: icmp_req=4 ttl=59 time=21.4 ms
64 bytes from 66.249.92.104: icmp_req=5 ttl=59 time=101 ms
^C64 bytes from 66.249.92.104: icmp_req=6 ttl=59 time=31.9 ms
--- www.google.fr ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5005ms
rtt min/avg/max/mdev = 20.784/38.485/101.656/28.646 ms
Nous savons qu'une des adresses IP de Google est 66.249.92.104.
Maintenant voyons ceci plus en détails à l'aide de strace.
Commande effectuée : strace ping www.google.fr
Réponse :
execve("/bin/ping", ["ping", "www.google.fr"], [/* 38 vars */]) = 0
(...)
open("/etc/hosts", O_RDONLY|O_CLOEXEC) = 3
(...)
read(3, "# AdZHosts v0061\n127.0.0.1 local"..., 4096) = 4096
read(3, ".com 08.185.87.19.liveadvert.com"..., 4096) = 4096
read(3, "com 101com.com\n127.0.0.1 101h.co"..., 4096) = 4096
read(3, "194.dynamic.dol.ru 160.6.87.194."..., 4096) = 4096
read(3, "r.ru 1up.us.intellitxt.com 1-upd"..., 4096) = 4096
(...)
On voit bien que ping va voir ce qui se trouve dans le fichier hosts.
Dans /etc/hosts j'ajoute la ligne : 127.0.0.1 www.google.fr
Lorque je relance la commande sans strace, voici le résultat :
PING www.google.fr (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.015 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.013 ms
64 bytes from localhost (127.0.0.1): icmp_req=3 ttl=64 time=0.014 ms
64 bytes from localhost (127.0.0.1): icmp_req=4 ttl=64 time=0.015 ms
64 bytes from localhost (127.0.0.1): icmp_req=5 ttl=64 time=0.014 ms
^C
--- www.google.fr ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3997ms
rtt min/avg/max/mdev = 0.013/0.014/0.015/0.002 ms
Voyez, l'adresse IP de www.google.fr est devenue 127.0.0.1.
C'est un exemple parmi tant d'autres, le fonctionnement est identique lorsque vous utilisez votre navigateur.
De part cette manipulation du fichier hosts, on soulève une faille de sécurité : si une personne mal intentionnée a accès à votre fichier hosts et qu'il a les droits suffisants pour le modifier, il pourrait aisément dérouter le site de votre banque ou votre compte courriel afin que www.ma-banque.fr vous amène ailleurs que sur le réel serveur de votre banque ; sur un serveur pirate, par exemple...
4. Conclusion
Le fichier hosts est une redoutable arme contre les sites à mauvaise réputation, il est simple et rapide de le modifier et les effets entrent directement en compte. C'est un moyen efficace dont tout le monde devrait avoir connaissance, que vous soyez administrateur système ou simple utilisateur.
5. Références
Par ordre alphabétique :
- [http://fr.wikipedia.org/wiki/Hosts]
- [http://lelogiciellibre.net/tutoriaux/fichier-hosts.php]
- [http://manpagesfr.free.fr/man/man5/hosts.5.html]
- [http://rlwpx.free.fr/WPFF/hosts.htm]
Aller plus loin
- Version PDF (241 clics)
- Sources (40 clics)
- Version texte (pour Unix) (148 clics)
- Version texte (pour Windows) (156 clics)
# Ayez confiance…
Posté par ®om (site web personnel) . Évalué à 10.
Comment être sûr qu'un site sain ne sera pas redirigé vers un mauvais serveur si on laisse le soin à un tiers de gérer le contenu de son fichiers hosts?
blog.rom1v.com
[^] # Re: Ayez confiance…
Posté par JJD . Évalué à 5.
Je me demande quand même ce que ça donne, en terme de performance lors de la résolution de nom, quand on a un fichier hosts avec près de 70000 entrées.
Et puis, il faut aussi gérer de façon satisfaisante le cas où l'on a un serveur HTTP sur sa propre machine.
[^] # Re: Ayez confiance…
Posté par exolin . Évalué à 8.
Ça rame :) je l'ai découvert il y'a plusieurs années sous windows avec un utilitaire de protection dont la technique était justement de bourrer le fichier /etc/hosts d'entrées non sécurisées.
Ce fichier est loin d'avoir été prévu pour la masse tentaculaire d'adresses disponibles sur la toile. À moins d'aimer faire des accès disques et ralentir son ordinateur, je le déconseille...
Mieux vaut donc laisser ce fichier tranquille (hormis pour la configuration de sites locaux pour le développement avec des sites en *.local par exemple)
[^] # Re: Ayez confiance…
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 6.
[^] # Re: Ayez confiance…
Posté par Dev8 . Évalué à 9.
Quelques autres sources qui semblent + connues et + à jour :
http://www.mvps.org/winhelp2002/hosts.htm
http://someonewhocares.org/hosts/ (+ http://someonewhocares.org/hosts/zero/ en alternative à 127.0.0.1)
http://www.hosts-file.net/?s=policy
PS: moi je combine avec http://accs-net.com/hosts/eDexter.html (exe/Windows et java/Linux)
[^] # Re: Ayez confiance…
Posté par BoboTiG (site web personnel) . Évalué à 2.
cat HOSTS.txt | egrep "^127.0.0.1" >> /etc/hosts
cat HOSTS.txt | egrep "^255.255.255.255" >> /etc/hosts
Comme ça on ne craint rien ;)
[^] # Re: Ayez confiance…
Posté par Christian Foucher . Évalué à 1.
http://www.telemarket.fr/dynv6/produit/26778.shtml)
[^] # Re: Ayez confiance…
Posté par llaxe . Évalué à 2.
[^] # Re: Ayez confiance…
Posté par Rémi Laurent (site web personnel) . Évalué à 3.
link="http://kosvocore.free.fr/AdZHosts/HOSTS.txt"
echo "[+] Downloading the latest AdZHosts archive ..."
wget -qq -U firefox -c ${link}
Fabuleux, "yapluka" dnsspoofer kosvocore.free.fr sur l'accès sans fil de la gare/resto/freewifi, attendre qu'un laptop passe par là et mette à jour sont /etc/hosts à coup de Cron, et hop, on peut commencer le MITM.
Même quand la pauvre victime se sent en sécurité dans son salon ça continue \o/.
Le concept me (dé)?plait fortement.
[^] # Re: Ayez confiance…
Posté par Jean-Philippe Garcia Ballester (site web personnel) . Évalué à 1.
[^] # Re: Ayez confiance…
Posté par Rémi Laurent (site web personnel) . Évalué à 2.
À côté de ça, il n'y a pas que le Web, combien d'ulisateurs ont leur compte mail de FAI qui est automatiquement relevé en POP/IMAP... pas une majorité, mais une bonne collection tout de même. À partir de là, il suffirait encore une fois de spoofer les adresses des serveurs mails des principaux FAI. Ensuite il est facile de se connecter sur pratiquement tous les applicatifs web auquel est inscrit cet utilisateur avec les classiques "rappel de mon mot de passe".
Même remarque pour la messagerie instantanée, leurs profils de réseaux sociaux et j'en passe.
# Pub
Posté par Florian.J . Évalué à 4.
Dommage que comme souvent google est utilisé comme site de référence. C'est juste de la publicité gratuite.
perdu.com par exempe n'est il pas plus neutre dans ces cas là ?
[^] # Re: Pub
Posté par _Hitek_ (site web personnel) . Évalué à 10.
[^] # Re: Pub
Posté par xrogaan . Évalué à 5.
[^] # Re: Pub
Posté par Florian.J . Évalué à 2.
[^] # Re: Pub
Posté par Alexandre COLLIGNON (site web personnel) . Évalué à 3.
Alexandre COLLIGNON
[^] # Re: Pub
Posté par kna . Évalué à 1.
Plus surprenant, son en-tête :
# Copyright (c) 1993-1999 Microsoft Corp.
#
# Ceci est un exemple de fichier HOSTS utilisé par Microsoft TCP/IP
# pour Windows
#
À quand un brevet ?
[^] # Re: Pub
Posté par 2PetitsVerres . Évalué à 1.
Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.
[^] # Re: Pub
Posté par BoboTiG (site web personnel) . Évalué à 1.
[^] # Re: Pub
Posté par mac_is_mac (site web personnel) . Évalué à 1.
Finalement, c'était le truc de la folie: il avait un windows pirate (évidemment) avec un fichier hosts qui codait en dur une adresse IP obsolète pour google.com (Dieu sait pourquoi). Et comme bien sûr c'était sa page d'accueil, le drame...
[^] # Re: Pub
Posté par claudex . Évalué à 4.
Tu as regardé si l'adresse appartenait bien à Google? Vu que c'est un windows pirate, c'était peut-être une tentative de phising ou d'espionnage.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Pub
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 2.
Pourquoi ?
# remarques
Posté par ianux (site web personnel, Mastodon) . Évalué à 7.
- l'ordre de la résolution des noms est déterminée par le fichier /etc/host.conf. Par défaut celui-ci regarde en premier dans /etc/hosts mais ce n'est pas forcément le cas tout le temps.
- si un serveur web (qui écoute la boucle locale, le cas par défaut également, c'est quand même bien pratique) tourne sur la bécane sur laquelle on aura renseigné le fichier /etc/hosts selon adzhosts.fr comme suggéré dans l'article, celui-ci va mouliner inutilement, ralentissant le chargement de la page d'autant, voire renvoyant des erreurs dans le cas d'iframes ou autre, ce qui pour le coup est contre-productif.
[^] # Re: remarques
Posté par Benoît Sibaud (site web personnel) . Évalué à 2.
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
(donc ici /etc/hosts en premier, puis DNS)
[^] # Re: remarques
Posté par FRLinux (site web personnel) . Évalué à -1.
strace -f -e open host google.ie
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/usr/lib/liblwres.so.60", O_RDONLY) = 3
open("/usr/lib/libdns.so.64", O_RDONLY) = 3
open("/usr/lib/libgssapi_krb5.so.2", O_RDONLY) = 3
open("/lib/i686/cmov/libcrypto.so.0.9.8", O_RDONLY) = 3
open("/usr/lib/libbind9.so.60", O_RDONLY) = 3
open("/usr/lib/libisccfg.so.60", O_RDONLY) = 3
open("/usr/lib/libisc.so.60", O_RDONLY) = 3
open("/lib/libcap.so.2", O_RDONLY) = 3
open("/lib/tls/i686/cmov/libpthread.so.0", O_RDONLY) = 3
open("/usr/lib/libxml2.so.2", O_RDONLY) = 3
open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3
open("/usr/lib/libGeoIP.so.1", O_RDONLY) = 3
open("/usr/lib/libkrb5.so.3", O_RDONLY) = 3
open("/usr/lib/libk5crypto.so.3", O_RDONLY) = 3
open("/lib/libcom_err.so.2", O_RDONLY) = 3
open("/usr/lib/libkrb5support.so.0", O_RDONLY) = 3
open("/lib/tls/i686/cmov/libdl.so.2", O_RDONLY) = 3
open("/lib/libkeyutils.so.1", O_RDONLY) = 3
open("/lib/tls/i686/cmov/libresolv.so.2", O_RDONLY) = 3
open("/lib/libz.so.1", O_RDONLY) = 3
open("/usr/lib/libisccc.so.60", O_RDONLY) = 3
open("/lib/libattr.so.1", O_RDONLY) = 3
open("/lib/tls/i686/cmov/libm.so.6", O_RDONLY) = 3
Process 5575 attached
Process 5576 attached
Process 5577 attached
[pid 5574] open("/usr/share/locale/en_IE.UTF-8/libdst.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 5574] open("/usr/share/locale/en_IE.UTF-8/LC_MESSAGES/libdst.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 5574] open("/usr/share/locale/en/libdst.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 5574] open("/usr/share/locale/en/LC_MESSAGES/libdst.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 5574] open("/usr/share/locale/en_IE.UTF-8/libisc.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 5574] open("/usr/share/locale/en_IE.UTF-8/LC_MESSAGES/libisc.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 5574] open("/usr/share/locale/en/libisc.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 5574] open("/usr/share/locale/en/LC_MESSAGES/libisc.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 5574] open("/usr/lib/ssl/openssl.cnf", O_RDONLY|O_LARGEFILE) = 6
[pid 5574] open("/usr/share/locale/en_IE.UTF-8/libdns.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 5574] open("/usr/share/locale/en_IE.UTF-8/LC_MESSAGES/libdns.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 5574] open("/usr/share/locale/en/libdns.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 5574] open("/usr/share/locale/en/LC_MESSAGES/libdns.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 5574] open("/etc/resolv.conf", O_RDONLY|O_LARGEFILE) = 6
google.ie has address 173.194.37.104
google.ie has IPv6 address 2a00:1450:8006::63
google.ie mail is handled by 10 google.com.s9b1.psmtp.com.
google.ie mail is handled by 10 google.com.s9b2.psmtp.com.
google.ie mail is handled by 10 google.com.s9a2.psmtp.com.
google.ie mail is handled by 10 google.com.s9a1.psmtp.com.
[pid 5574] --- SIGTERM (Terminated) @ 0 (0) ---
Process 5575 detached
Process 5577 detached
Process 5576 detached
Mon nsswitch.conf juste pour reference :
passwd: compat
group: compat
shadow: compat
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
[^] # Re: remarques
Posté par Florence Birée (site web personnel) . Évalué à 6.
[^] # Re: remarques
Posté par Tonton Th (Mastodon) . Évalué à 3.
Il y a fort longtemps de ça, ayant eu à traiter des problèmes de DNS particulièrement rebelles, jai rapidement codé ce petit truc : http://tboudet.free.fr/checkresolv/ qui m'a rendu bien des services...
[^] # Re: remarques
Posté par Florence Birée (site web personnel) . Évalué à 2.
[^] # Re: remarques
Posté par netsurfeur . Évalué à 5.
/etc/host.conf est utilisé par les fonctions gethostbyname et gethostbyaddr de la libc.
La commande host a pour but de tester spécifiquement la résolution DNS. D'après sa page man:
"host is a simple utility for performing DNS lookups."; il est donc normal qu'elle ignore les autres méthodes de conversion.
C'est comme ça depuis que la commande host existe (bien avant la naissance de Linux), rien de spécifique à Ubuntu.
[^] # Re: remarques
Posté par Joris Dedieu (site web personnel) . Évalué à 4.
Il existe getent pour utiliser directement nss dans le shell
>>host www.linuxfr.org
www.linuxfr.org is an alias for prout.linuxfr.org.
prout.linuxfr.org has address 88.191.250.104
>>getent hosts www.linuxfr.org
127.0.0.1 www.linuxfr.org
[^] # Re: remarques
Posté par Gibert Jonathan . Évalué à -1.
[^] # Re: remarques
Posté par Gibert Jonathan . Évalué à 1.
[^] # Re: remarques
Posté par Spack . Évalué à 3.
Et même question que plus haut, si on possède un serveur local, cela ne risque t-il pas de surcharger ce dernier (et de pourrir les logs) ? Peut-on envisager de rediriger les sites indésirables vers l'adresse 0.0.0.0 ?
Est-il possible d'avoir plusieurs fichiers hosts lus par ordre de préférence ? Ainsi, on a un fichier que l'on garde propre et un fichier ou plusieurs fichiers ayant une fonction bien précise.
[^] # Re: remarques
Posté par FreeB5D . Évalué à 7.
[^] # Re: remarques
Posté par BoboTiG (site web personnel) . Évalué à 0.
[^] # Re: remarques
Posté par Cereal Killer . Évalué à 2.
[^] # Re: remarques
Posté par Kerro . Évalué à 4.
Effectivement. Il serait peut-être plus intéressant qu'adzhosts renvoie vers 127.0.0.2 par exemple. Ou plustôt vers 127.254.254.254. Ou même que ce soit paramétrable :-)
[^] # Re: remarques
Posté par BoboTiG (site web personnel) . Évalué à 1.
Je modifierai le script pour prendre cette IP par défaut, et ajouterai une variable pour ceux qui souhaitent en mettre une autre.
[^] # Re: remarques
Posté par yellowiscool . Évalué à 0.
Envoyé depuis mon lapin.
[^] # Re: remarques
Posté par yellowiscool . Évalué à 2.
Envoyé depuis mon lapin.
[^] # Re: remarques
Posté par Kerro . Évalué à 2.
127.x.y.z est réservé par la norme pour être la "boucle locale". En gros l'interface réseau virtuelle qui pointe vers la machine elle-même.
La plupart du temps, tout le monde utilise 127.0.0.1 lorsqu'il y a besoin de passer par l'interface locale. Mais rien n'interdit d'utiliser n'importe quelle autre adresse. C'est ce que je fais généralement. Je prends 127.0.1.1 127.0.1.2 ect
Alors autre chose que 127.0.0.1 est probablement une bonne idée.
127.254.254.254 me semble tranquille :-)
[^] # Re: remarques
Posté par BoboTiG (site web personnel) . Évalué à 1.
[^] # Re: remarques
Posté par Batchyx . Évalué à 3.
En pratique, sous linux, 0.0.0.0 représente une de tes adresses locales : 127.0.0.1 ou une autre. donc entre 0.0.0.0 et 127.0.0.1, c'est kifkif.
[^] # Re: remarques
Posté par jean-philippe gaulier . Évalué à 2.
[^] # Re: remarques
Posté par Cereal Killer . Évalué à 0.
Pour moi 127.0.0.1 est fait pour ça. Aucun intérêt de mettre autre chose, si ce n'est se compliquer la vie inutilement.
[^] # Re: remarques
Posté par Croconux . Évalué à 3.
Le premier est que contrairement à un système de filtrage centralisé, c'est beaucoup plus compliqué à maintenir. Il faut déployer la mise à jour sur chaque ordinateur. Si l'un d'eux n'est pas à jour, il y a un trou.
Ensuite concernant le filtrage de sites bannis (cul), si l'utilisateur à la main dessus (certains utilisateurs on besoin d'être admin de leur machines) ça ne sert un peu à rien. Certes Mme Michu ne sait pas ce qu'est le fichier host mais M. Grospervers lui sait probablement.
[^] # Re: remarques
Posté par bubar🦥 (Mastodon) . Évalué à 2.
Cela ne veux pas dire qu'ils vont pouvoir, avoir droit pour, écrire dans host*
[^] # Re: remarques
Posté par BoboTiG (site web personnel) . Évalué à 1.
À la base, il est destiné aux utilisateurs lambda, donc 2 machines tout au plus.
[^] # Re: remarques
Posté par Cereal Killer . Évalué à 4.
Même si cet article est relativement bien écrit et didactique, j'ai du mal a voir pour qui il est destiné. dslé
[^] # Re: remarques
Posté par jemore . Évalué à 1.
[^] # Re: remarques
Posté par meuble2001 . Évalué à 1.
[^] # Re: remarques
Posté par Bernez . Évalué à 1.
# oups
Posté par letis . Évalué à 1.
[^] # Re: oups
Posté par Bruno Michel (site web personnel) . Évalué à 10.
[^] # Re: oups
Posté par LupusMic (site web personnel, Mastodon) . Évalué à -3.
C'est un appel POSIX, on peut donc l'assimiler au système. Et ça ne fait pas partie de la libc. La libc c'est la norme ANSI, pas POSIX.
Ceci dit, l'application ne devrait pas faire la résolution de nom à sa sauce, mais toujours demander au système une correspondance. Dans le cas contraire, on va commencer à s'arracher les cheveux sur des conflits de configuration.
[^] # Re: oups
Posté par M . Évalué à 10.
Mais bien sur, http://www.gnu.org/software/libc/ :
The history of Unix and various standards determine much of the interface of the C library. In general the GNU C library supports the ISO C and POSIX standards.
Et puis man gethostbyname est dans la section 3 (Appels de bibliothèque) pas dans la section 2 (système). cf man man.
[^] # Re: oups
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 2.
[^] # Re: oups
Posté par Jean-Philippe Garcia Ballester (site web personnel) . Évalué à 6.
Un appel système, c'est utilisé pour passer de l'espace utilisateur à l'espace noyau, je ne pense pas que ce soit le noyau qui implémente la résolution de nom.
La libc c'est la norme ANSI, pas POSIX.
Extrait de Glibc : « En plus de fournir toutes les fonctionnalités requises par Unix98, Single UNIX Specification, POSIX (1c, 1d, et 1j) […] ».
[^] # Re: oups
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 3.
[^] # Re: oups
Posté par Tonton Th (Mastodon) . Évalué à 4.
http://pafoo.net/uninstallglibc/uninstglibc.html
[^] # Re: oups
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
[^] # Re: oups
Posté par Julien . Évalué à 1.
Oui, c'est exactement ça, la glibc est une bibliothèque qui met en œuvre plusieurs spécifications, entre autre la libc, Unix98, SUS et POSIX.
[^] # Re: oups
Posté par BoboTiG (site web personnel) . Évalué à 1.
Petite erreur de ma part, merci.
# Et si possible
Posté par llaxe . Évalué à 7.
# démarche presque similaire
Posté par kertiam . Évalué à 3.
Pour les listes à jour j'utilise 3 sources:
Adserver de pgl.yoyo.org
les listes adblockplus qui ont le bon goût d'être adaptées à un public localisé
un petit script sans prétention qui cherche des patterns particuliers dans les noms de domaine non résolus en interne - donc transmises au dns du dessus.
Le fichier hosts à pour mérite d'être instantanément opérationnel mais réserve son lot de surprises parfois.
# Développement
Posté par Maxime G (site web personnel) . Évalué à 7.
Dans hosts :
127.0.0.1 www.monsite-dev.fr
Et un virtualhost apache (ou nginx ou...) qui va bien :
Virtualhost 127.0.0.1:80 {
ServerName www.monsite-dev.fr
...
}
Et c'est parti comme en prod.
Pq développer et afficher dans un sous répertoire genre http://localhost/monsite/ c'est pas glorieux, ça fout en l'air la réécriture d'url, les cookies et j'en passe...
# Fausse bonne idée
Posté par Anonyme . Évalué à 10.
Cela devrait pourtant sauter aux yeux que le combat est perdu d'avance, que le remède est pire que le mal : c'est tout simplement impossible à maintenir !
D'ailleurs la preuve, j'ai pris plusieurs adresses dans chacunes des listes et la majorité ne sont plus à jour : hosts down, domaines rachetés, redirigés, contenu changé, etc.
Cela prouve que le net bouge très rapidement, et aussi qu'un certain niveau de nettoyage s'opère aussi.
Bref l'intérêt d'une telle protection est très très limitée et plutôt source d'ennui.
En plus, j'ai un doute sur les performances, j'imagine que certains clients un peu poussifs pourraient mettre beaucoup de temps à parser le fichier, plus qu'à faire une requête DNS en tous cas.
Et puis Adblock remplit très bien son rôle en se focalisant sur la pub, peut se mettre à jour et se configurer facilement...
[^] # Re: Fausse bonne idée
Posté par Pinaraf . Évalué à 9.
Je confirme que la lecture de ce fichier, à partir d'un nombre conséquent d'entrées (plus d'un million), devient proprement calamiteuse. C'est ce qui m'a fait abandonner ce système.
De plus, rediriger vers 127.0.0.1 fait que si vous utilisez pour du développement un serveur Web, vous aurez droit à un certain nombre de "blagues" sous forme de requêtes inutiles qui apparaîtront...
Perso, je redirige certains vrais gêneurs vers ::dead, sinon le reste est filtré par noscript + adblock... J'ai notamment la ligne suivante :
::dead facebook.com fbcdn.net www.facebook.com graph.facebook.com
Mais un fichier hosts de plusieurs centaines milliers de lignes, faut pas déconner, c'est mauvais pour certaines applis (à l'époque, je ne sais plus quel client jabber c'était qui ne supportait vraiment pas ça)
[^] # Re: Fausse bonne idée
Posté par J Avd . Évalué à 5.
C'est également un retour en arrière depuis la RFC 1034 (novembre 1987 ça ne rajeunira personne...)...
Imaginer que l'utilisation d'une base centralisée sera plus performant qu'une base décentralisée ! J'aimerais mesurer la taille du bond que ferait Benjamin Bayard devant cette idée présenté comme une "solution d'avenir"...
"Hé les gars j'ai un super projet, pour filtrer tout les spams YAKA faire un seul serveur SMTP par lequel passerait tout les mails et dedans YAKA mettre toute les règles de filtrage!"
C'est du même ordre...
"Ceux qui sont près à perdre un peu de liberté pour gagner un peu de sécurité, ne mérite ni l'une ni l'autre, et finiront par perdre les deux." Benjamin Franklin, père fondateur de nation et observateur attentif de serpents.
"Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"
[^] # Re: Fausse bonne idée
Posté par Cereal Killer . Évalué à 10.
On dirait un article de quelqu'un qui découvre l'utilisation du fichier hosts, qui trouve ça formidable et qui se dit qui devrait partager sa découverte avec tout le monde en partageant son énorme fichier hosts.
Ce n'est ni bon pour le particulier, ni pour un entreprise (si petite soit elle) pour toute les raisons déjà relevée.
Comment une dépêche comme ça a pu passer, sérieusement ?
[^] # Re: Fausse bonne idée
Posté par solsTiCe (site web personnel) . Évalué à 1.
et je me suis dit après avoir cliquer sur le lien du pdf qu'il s'agissait en fait d'un pdf vérolé et que je m'étais fait "hacké"...
parec que ça semble vraiement trop neuneu pour être vrai c't histoire
[^] # Re: Fausse bonne idée
Posté par jean-philippe gaulier . Évalué à 4.
Honnêtement, mis à part pour certains cas de cluster avec de la très haute disponibilité, ne pouvant pas s'appuyer sur une architecture autre ou alors dans le cadre de systèmes propriétaires, sinon, ça doit bien faire vingt ans que tous les manuels scolaires doivent déconseiller l'emploi de ce fichier, si ce n'est dans un but pédagogique, de facilité ou d'emploi spécifique.
C'est une bonne entrée en matière pour expliquer à quoi sert le fichier host, mais maintenant, il faut aller se coltiner les RFCs 1034 et 1035 pour aller un poil plus loin.
Courage, DNSsec n'est plus très loin :)
[^] # Re: Fausse bonne idée
Posté par Tonton Th (Mastodon) . Évalué à 2.
Pour filtrer les vingt serveurs de publicité fournissant les trente sites que tu consultes régulièrement, c'est quand même la meilleure solution.
[^] # Re: Fausse bonne idée
Posté par BoboTiG (site web personnel) . Évalué à -2.
Peut être n'ai-je pas pris assez de recul avant d'écrire cet article, dépassé le fichier hosts ?
Pour vous certainement, moi ça me convient parfaitement...
[^] # Re: Fausse bonne idée
Posté par Kerro . Évalué à 4.
Voilà qui résume parfaitement :-)
Tout comme Ubuntu sainul, utilisez Debian. Chacun fait comme ça lui chante.
Reste qu'un bon cache DNS des familles (avec serveur DNS inclus histoire de mettre les sites bloqués dedans), y compris en local, y'a que ça de vrai. Mais c'est _un_peu_ plus compliqué (pas tant que ça en fait).
[^] # Re: Fausse bonne idée
Posté par llaxe . Évalué à 2.
Ce qui est surtout impressionnant, c'est que c'est pas graphique avec dnsmasq, le cache dns que j'utilise. Mais sinon, niveau intellectuel, j'ai réussi à m'en sortir quand même :) Je trouve ce logiciel très bien conçu et simple à configurer pour l'usage que j'en ai.
[^] # Re: Fausse bonne idée
Posté par J Avd . Évalué à 0.
Quand tu auras pris connaissance de tout cela tu pourras parler de recul (piiip! piiip! piiip!).
"Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"
[^] # Re: Fausse bonne idée
Posté par shbrol . Évalué à 4.
Heu, goldorak dans récréA2, c'est pas 1987, mais plutôt 1978...
[^] # Re: Fausse bonne idée
Posté par J Avd . Évalué à 1.
"Gentoo" is an ancient african word, meaning "Read the F*ckin' Manual". "Gentoo" also means "I am what I am because you all are freaky n3rdz"
[^] # Re: Fausse bonne idée
Posté par shbrol . Évalué à 1.
En 1978, L'île aux enfants, c'était sur TF1, pas sur Antenne2...
Et [[Récré A2]] a bien commencé en 1978, tout comme la diffusion de Goldorak.
Sans vouloir t'offenser, tu est sur que tu ne confond pas avec Club Dorothée,
qui a commencé en 1987 ?
[^] # Re: Fausse bonne idée
Posté par shbrol . Évalué à 2.
Voici donc:
http://fr.wikipedia.org/wiki/R%C3%A9cr%C3%A9_A2
# Attention aux effets de bords !
Posté par Olivier (site web personnel) . Évalué à 3.
A grand coup de "strace", j'ai analysé ce que faisait son pidgin, en comparant au même soft installé sur ma machine (nos deux machines avaient la même distribution, et le même niveau de mise à jour).
Finalement, il s'est avéré que pidgin plantait à cause de ce fichier /etc/hosts trop gros. En le remplaçant par un fichier plus simple (1 ligne), les crash ont disparus.
Bref, pour moi les conséquences sur les applis de l'utilisation d'une telle méthode de filtrage ne sont pas forcément anodines.
[^] # Re: Attention aux effets de bords !
Posté par claudex . Évalué à 10.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Attention aux effets de bords !
Posté par ze_lionix (site web personnel) . Évalué à 4.
Olivier as tu payé ton report de bug ?
Fuse : j'en Use et Abuse !
[^] # Re: Attention aux effets de bords !
Posté par Olivier (site web personnel) . Évalué à 2.
Si c'est de savoir si j'ai écris un rapport de bug, non je ne m'en suis pas donné la peine. C'était en 2006 cette histoire-là...
Je viens de refaire le test sur ma Debian Squeeze/Testing, avec le fichier host de l'époque, et le problème n'apparaît plus. Je suppose que cela a été réglé à un moment ou un autre.
[^] # Re: Attention aux effets de bords !
Posté par Olivier (site web personnel) . Évalué à 3.
Mais comme les softs ne vont généralement pas interroger directement le /etc/hosts, mais passent par des librairies communes pour le faire (libc ?), si crash il y a, c'est la responsabilité de ces librairies-là.
Après, il est possible que Pidgin crashait suite à un code d'erreur que la librairie lui remontait, et qu'il ne comprenait pas (parce que, par exemple, non codé dans le soft).
# Article complet sur le filtrage de pub.
Posté par Grunt . Évalué à 2.
THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.
[^] # Re: Article complet sur le filtrage de pub.
Posté par Tonton Th (Mastodon) . Évalué à 1.
# indispensable
Posté par Quarksy . Évalué à -8.
Quel bonheur de pouvoir enfin surfer sur le web sans croiser une seule publicité !
Forcément, la navigation est plus rapide, plus fluide, plus mieux !
Ce petit programme est incroyablement bien fichu, clair, et pratique.
J'adore ! Félicitation aux concepteurs qui ont entrés un gros paquet d'url a bloquer ! (plus de 7500 lignes, chaque ligne comprenant plusieurs url )
Un sacré boulot de fait, je tire mon béret.
Testez-le d'urgence, le programme demande votre accord pour télécharger le nouveau fichier hosts, et le glisse d'abord dans votre dossier personnel avant de vous demander si oui ou non vous le voulez en lieu et place du hosts original. Ce qui vous permet de contrôler les entrées contenues, le temps de vérifier qu'il n'y a pas d'embrouille.
INDISPENSABLE !
[^] # Re: indispensable
Posté par Kerro . Évalué à 8.
[^] # Re: indispensable
Posté par Katyucha (site web personnel) . Évalué à 1.
Mais cela semble interdit ici
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.