Використання символів для імен у файлі хостів Windows


53

Чи є спосіб створити домен підстановки у файлі хостів Windows.

Я спробував це

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

Це не працює, чи може бути якийсь інший синтаксис, який я повинен використовувати?

Я працюю над Windows 7


1
я щойно відповів на запитання про те, як це робити з DNSmasq на ServerFault (очевидно, не на Windows, але на маршрутизаторі, на якому працює DD-WRT / OpenWRT)
quack quixote

XP SP2 включав кастрацію хост-файлу - securityfocus.com/archive/1/431032/30/0/threaded Причиною є те, що люди використовували його для блокування реклами під час перегляду. Це здогадка, наскільки я знаю, Microsoft ніколи не виявляла, чому вони це зробили і чому вони згодом переносять це вперед. Якщо ви зможете розмістити проксі-сервер між вашим ПК та Інтернетом, то ви можете поставити блок для того, що хотіли.
bvaughn

Відповіді:


61

Немає. Файл хостів не дуже розумний, ви повинні перелічити кожен піддомен окремо (включаючи www та no-www)


16

Відповідь на дуже схоже запитання StackOverflow працювала для мене добре.

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

Підтримка Wildcard на XP у файлі hosts. Насолоджуйтесь.

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


2
Акрил чудово працює, але може вас збити з пантелику, якщо ви намагаєтесь отримати доступ до машини з динамічною IP-адресою. У мене домашні мережі підключені машини, і я використовую динамічний dns для встановлення ip для доменного імені. Я використовую Acrylic на своєму ноутбуці, і мене не було протягом декількох днів, тим часом мій IP змінився, але Acrylic запам'ятав його як старий ip, і я не зміг отримати доступ до сайту. Але запуск програми "Очистити дані акрилового кешу" вирішив проблему.
leeand00

На жаль, акрил не підтримує псевдоніми DNS, що робить його марним для мене.
Сперо

10

Dnsmasq - це те, що вам потрібно, але він працює не дуже добре в Windows. Тому я написав альтернативу у Windows під назвою DNSAgent .

Ви можете використовувати регулярне вираження в правилах. Є також деякі додаткові функції, такі як налаштування кеш-пам'яті TTL, нестандартний DNS-сервер, мутація вказівника стиснення тощо.


1

По-перше, я погоджуюся з phoshi, що в хості-файлі windows (ні в unix) неможливо робити те, що ви хочете.

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

см тут для отримання списку ДНС-резольвера, перевірте стовпець «підстановочні», може бути PowerDNS або MaraDNS або posadis є те , що відповідає вашим потребам.


-1

Це ще один синтаксис: xxx.xxx.xxx.xxx somedomain.com

Деякі приклади для пояснення цього:

  • 127.0.0.1 .com цей рядок буде блокувати всі вихідні запити dnsreque, що закінчуються на .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-адресом рівня у файлі хостів.


З огляду на останнє речення, я припускаю www.example.com, що не блокується першим рядком, а лише при додаванні 127.0.0.1 example.com?
Ар'ян

9
moonfern, я не згоден з вашим списком. 127.0.0.1 somesite.com НЕ БЕ заблокує всі вихідні запити DNS, що закінчуються на somesite.com, все це буде заблоковано Somesite.com , а не www.somesite.com чи subdomain.somesite.com тощо.

1
Це точно не так у Windows, moonfern.
Оуен Блекер

-3

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

Редагування вашого прикладу:

xxx.xxx.xxx.xxx somedomain.com

"Поміркуйте, чи ..." досить неоднозначно. Що саме ви рекомендуєте як рішення?
fixer1234

Будь ласка, прочитайте питання ще раз уважно. Ваша відповідь не відповідає на початкове запитання.
DavidPostill

1
fixer1234 - Я не знаю, в чому полягає проблема, яку бажає вирішити плакат, хоча вони запитують, як би явна відмітка символів вирішила її. "Поміркуйте, чи ..." припускає щось, що може спрацювати. Спробувати це легко і вимагає мало символів. Я знаю, що це працює в деяких випадках. Оскільки у мене недостатньо контексту для розуміння проблеми, я не можу рекомендувати рішення. Девід Постілл - я вважаю, що моя відповідь адресна і стосується оригінального питання. Але, можливо, ваша відповідь буде працювати краще.
SquarePowder
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.