Використання символів для імен у файлі хостів 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.