Je viens de répondre à une question sur le faire avec DNSmasq sur ServerFault (pas sur Windows, bien sûr , mais sur un routeur exécutant DD-WRT / OpenWRT, c'est faisable)
Quack Quichote
XP SP2 incluait une castration du fichier hôte - securityfocus.com/archive/1/431032/30/0/threaded On suppose que les gens l'utilisaient pour bloquer les publicités lors de la navigation. C’est une hypothèse, pour autant que je sache, Microsoft n’a jamais révélé pourquoi ils l’ont fait et pourquoi ils l’invitent depuis. Si vous êtes en mesure de mettre un serveur proxy entre votre PC et Internet, vous pouvez mettre un bloc pour ce que vous voulez.
bvaughn
Réponses:
61
Il n'y a pas. Le fichier hosts n'est pas très intelligent, vous devez lister chaque sous-domaine individuellement (y compris www et no-www)
Prise en charge des caractères génériques sur XP sur hostsfile. Prendre plaisir.
Fondamentalement, ce programme Acrylic fonctionne comme un proxy DNS pour votre machine locale. Il vous suffit de pointer votre connexion au réseau local sur 127.0.0.1, puis de modifier le fichier AcrylicHosts.txt de manière très similaire au fichier hosts normal - uniquement avec des caractères génériques!
L'acrylique fonctionne très bien, mais peut vous dérouter si vous essayez d'accéder à une machine avec une adresse IP dynamique. J'ai des machines connectées à mon réseau domestique et j'utilise un DNS dynamique pour définir l'adresse IP du nom de domaine. J'utilise Acrylic sur mon ordinateur portable et je suis parti pendant quelques jours, mais mon adresse IP a changé, mais Acrylic s'en souvenait comme étant l'ancienne adresse IP et je ne pouvais pas accéder au site. Mais l’exécution du programme "Purge Acrylic Cache Data" a résolu le problème.
leeand00
Malheureusement, acrylique ne supporte pas les alias DNS, ce qui le rend inutile pour moi.
Spero
11
Dnsmasq est ce dont vous avez besoin, mais cela ne fonctionne pas très bien sous Windows. J'ai donc écrit une alternative sous Windows appelée DNSAgent .
Vous pouvez utiliser une expression régulière dans les règles. Il existe également certaines fonctionnalités avancées telles que la personnalisation de la durée de vie du cache, le serveur DNS à port non standard, la mutation du pointeur de compression, etc. Open source sous licence MIT.
Premièrement, je suis d’accord avec Phoshi pour dire qu’il n’est pas possible de faire ce que vous voulez dans le fichier hosts de Windows (ni sous unix).
Deuxièmement, vous devez prendre le contrôle du résultat d'une demande adressée au DNS. Une option consiste à utiliser votre propre résolution DNS sur votre routeur (dnsmasq, dnscache + tinydns, bind, peu importe, voir le commentaire de quack) et à la modifier ou à utiliser un résolveur DNS sur Windows que vous pouvez contrôler à votre guise.
voir ici pour une liste des dns-résolveurs, vérifiez la colonne « générique », peut - être powerdns ou maradns ou Posadis est quelque chose qui correspond à vos besoins.
C'est une autre syntaxe: xxx.xxx.xxx.xxx somedomain.com
Quelques exemples pour l'expliquer:
127.0.0.1 .com cette ligne bloquera toutes les demandes de service sortantes se terminant par .com
127.0.0.1 somesite.com bloquera tous les dnsrequests sortants se terminant par somesite.com
12.2.3.1 www.dns.com conduira toutes les demandes de service sortantes se terminant par www.dns.com à 12.2.3.1
Vous bloquez / menez toutes les deuxième (troisième, quatrième ...) URL de niveau avec l'URL de niveau supérieur (deuxième, troisième ...) dans le fichier hosts.
Étant donné la dernière phrase, je suppose que www.example.comla première ligne n’est pas bloquée, mais seulement lors de l’ajout 127.0.0.1 example.com?
Arjan
9
Moonfern, je ne suis pas d'accord avec votre liste. 127.0.0.1 somesite.com NE bloquera PAS toutes les demandes DNS sortantes se terminant par somesite.com, tout ce qu'il bloquera sera somesite.com , pas www.somesite.com ou subdomain.somesite.com ou similaires.
1
Ce n'est certainement pas le cas sous Windows, Moonfern.
Owen Blacker
-3
Si vous souhaitez bloquer tous les sous-domaines du site somedomain.com, envisagez d'omettre "*". réalisera ce que vous voulez.
"Considérez si ..." est assez ambigu. Que recommandez-vous exactement comme solution?
fixer1234
Veuillez relire attentivement la question. Votre réponse ne répond pas à la question initiale.
DavidPostill
1
fix1234 - Je ne sais pas quel est le problème que l'affiche souhaite résoudre, alors qu'ils demandent comme si un caractère générique explicite allait y remédier. "Considérez si ..." suggère quelque chose qui pourrait fonctionner. C'est facile à essayer et nécessite peu de caractères. Je sais que cela fonctionne dans certains cas. Comme je n'ai pas assez de contexte pour comprendre le problème, je ne peux pas recommander de solution. David Postill - Je pense que ma réponse est pertinente et correspond à la question initiale. Mais peut-être que votre propre réponse fonctionnera mieux.
Réponses:
Il n'y a pas. Le fichier hosts n'est pas très intelligent, vous devez lister chaque sous-domaine individuellement (y compris www et no-www)
la source
Une réponse à une question très similaire sur StackOverflow a bien fonctionné pour moi.
Fondamentalement, ce programme Acrylic fonctionne comme un proxy DNS pour votre machine locale. Il vous suffit de pointer votre connexion au réseau local sur 127.0.0.1, puis de modifier le fichier AcrylicHosts.txt de manière très similaire au fichier hosts normal - uniquement avec des caractères génériques!
la source
Dnsmasq est ce dont vous avez besoin, mais cela ne fonctionne pas très bien sous Windows. J'ai donc écrit une alternative sous Windows appelée DNSAgent .
Vous pouvez utiliser une expression régulière dans les règles. Il existe également certaines fonctionnalités avancées telles que la personnalisation de la durée de vie du cache, le serveur DNS à port non standard, la mutation du pointeur de compression, etc. Open source sous licence MIT.
la source
Premièrement, je suis d’accord avec Phoshi pour dire qu’il n’est pas possible de faire ce que vous voulez dans le fichier hosts de Windows (ni sous unix).
Deuxièmement, vous devez prendre le contrôle du résultat d'une demande adressée au DNS. Une option consiste à utiliser votre propre résolution DNS sur votre routeur (dnsmasq, dnscache + tinydns, bind, peu importe, voir le commentaire de quack) et à la modifier ou à utiliser un résolveur DNS sur Windows que vous pouvez contrôler à votre guise.
voir ici pour une liste des dns-résolveurs, vérifiez la colonne « générique », peut - être powerdns ou maradns ou Posadis est quelque chose qui correspond à vos besoins.
la source
C'est une autre syntaxe: xxx.xxx.xxx.xxx somedomain.com
Quelques exemples pour l'expliquer:
Vous bloquez / menez toutes les deuxième (troisième, quatrième ...) URL de niveau avec l'URL de niveau supérieur (deuxième, troisième ...) dans le fichier hosts.
la source
www.example.com
la première ligne n’est pas bloquée, mais seulement lors de l’ajout127.0.0.1 example.com
?Si vous souhaitez bloquer tous les sous-domaines du site somedomain.com, envisagez d'omettre "*". réalisera ce que vous voulez.
Éditer votre exemple:
la source