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

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

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

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

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

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

7 ответов

Решение

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

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

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

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

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

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

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

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

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

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

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

Это другой синтаксис: 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.

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

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

xxx.xxx.xxx.xxx somedomain.com
Другие вопросы по тегам