48

Есть ли способ создать подстановочный домен в файле хостов Windows.

Я пробовал это

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

Это не работает, может быть, какой-то другой синтаксис я должен использовать?

Я работаю на Windows 7

7 ответов7

55

Нет. Файл hosts не очень умен, вы должны перечислить каждый поддомен индивидуально (включая www и no-www)

14

Ответ на очень похожий вопрос StackOverflow работал хорошо для меня.

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

Поддержка подстановочных знаков на XP в hostsfile. Наслаждаться.

По сути, эта программа Acrylic работает в качестве DNS-прокси для вашего локального компьютера. Просто укажите ваше подключение по локальной сети на 127.0.0.1, затем отредактируйте файл AcrylicHosts.txt очень похоже на обычный файл hosts - только с подстановочными знаками!

8

Dnsmasq - это то, что вам нужно, но он не очень хорошо работает в Windows. Поэтому я написал альтернативу для Windows под названием DNSAgent.

Вы можете использовать регулярные выражения в правилах. Есть также некоторые расширенные функции, такие как настройка кэша TTL, DNS-сервер нестандартного порта, мутация указателя сжатия и т.д. Открытым исходным кодом по лицензии MIT.

1

pDNS - это бесплатная переносимая замена файлов Windows hosts с поддержкой подстановочных знаков и вопросительных знаков. Он действует как персональный DNS-сервер (очень похож на DNSmasq).

1

во-первых, я согласен с phoshi, что в hosts-файле окон не возможно делать то, что вы хотите (ни в unix).

во-вторых, вы должны получить контроль над результатом запроса в днс. Одним из вариантов является использование вашего собственного dns-разрешения на вашем маршрутизаторе (dnsmasq, dnscache+tinydns, bind, что угодно, см. комментарий кряка) и настройка его или использование dns-resolver на окнах, которыми вы можете управлять, как хотите.

посмотрите здесь список dns-resolvers, проверьте столбец "подстановочный знак", возможно, powerdns, maradns или posadis - это то, что соответствует вашим потребностям.

-1

Это другой синтаксис: xxx.xxx.xxx.xxx somedomain.com

Несколько примеров, чтобы объяснить это:

  • 127.0.0.1 .com эта строка будет блокировать все исходящие запросы, заканчивающиеся на .com
  • 127.0.0.1 somesite.com заблокирует все исходящие запросы, заканчивающиеся на somesite.com
  • 12.2.3.1. Www.dns.com приведет все исходящие запросы, заканчивающиеся на www.dns.com, к 12.2.3.1.

Вы блокируете / ведете все URL второго (третьего, четвертого ...) уровня с помощью URL верхнего (второго, третьего ...) уровня в файле hosts.

-2

Если вы хотите заблокировать каждый поддомен в somedomain.com, подумайте, не опустить ли «*». достигнет того, что вы хотите.

Редактирование вашего примера:

xxx.xxx.xxx.xxx somedomain.com

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .