Utilisation de caractères génériques dans les noms du fichier d'hôtes Windows

54

Est-il possible de créer un domaine générique dans le fichier hôtes Windows?

J'ai essayé ça

xxx.xxx.xxx.xxx * .somedomain.com

Cela ne fonctionne pas, y a-t-il une autre syntaxe que je devrais utiliser?

Je travaille sur Windows 7

Saif Bechan
la source
1
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)

Phoshi
la source
16

Une réponse à une question très similaire sur StackOverflow a bien fonctionné pour moi.

http://mayakron.altervista.org/support/browse.php?path=Acrylic&name=UserManual

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!

Curtis Gibby
la source
2
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.

Stackia
la source
1

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.

Akira
la source
-1

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.

Moonfern
la source
É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.

Éditer votre exemple:

xxx.xxx.xxx.xxx somedomain.com
SquarePowder
la source
"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.
SquarePowder le