2

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

В таком случае, какие все возможные версии мне нужно перечислить, чтобы полностью заблокировать домен? Например:

http: с / без doubleyou, doubleyou, doubleyou

doubleyou, doubleyou, doubleyou (без http)

https:

http://foobar.com

FTP

так далее

Что такое полный список? Какие еще типы должны быть покрыты? Существуют ли типы перечисленных дубликатов (с точки зрения того, как их интерпретирует файл хоста), например http: с doubleyou, doubleyou, doubleyou ..... и doubleyou, doubleyou, doubleyou ......

(Извините за doubleyou, doubleyou, doubleyou, но если я напишу их как обычно, редактор настаивает на том, что они являются реальными ссылками, и запрещает их, если я не "заключу их в блок кода", что бы это ни было).

3 ответа3

2

Я предполагаю, что с файлом hosts вы говорите о /etc /hosts или его конкретном эквиваленте, в противном случае мой ответ не будет иметь никакого значения.

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

Во-вторых, тебе не повезло. Невозможно получить все существующие хосты в определенном домене. На самом деле, имена могут быть даже динамическими, и они не должны существовать до того, как будут запрошены.

Чтобы заблокировать что-либо за example.com., У вас есть два варианта:

  1. Запустите свой собственный локальный DNS-сервер, с записью для * .foobar.com., И верните все остальное в реальный DNS.

  2. Наблюдайте за днс-трафиком, grep каждый запрос на foobar.com и динамически добавляйте все метки, найденные таким образом, в ваш файл hosts. Это вступит в силу только через некоторое время, так что это не пуленепробиваемый, и будет чертовски трудно сделать правильно.

2.) это фигня.

1.) это способ сделать это. Это способ, которым пользуются все нуждающиеся.

Запуск собственного DNS - это не ракетостроение, и в сети есть много дружественных ресурсов. Попробуйте прибегнуть к помощи "bind howto".

Но найдите минутку и пересмотрите свои цели.

Если вы хотите запретить какой-либо программе звонить домой, умеренный объем трафика, вероятно, покажет все имена хостов, которые он использует, и вы можете поместить их в свой файл hosts вручную.

С другой стороны, если вы хотите предотвратить пользователь (человек) смотреть YouPorn, не беспокойтесь, они, вероятно, умнее, чем вы, и будет обходить ваши действия быстрее, чем их можно развернуть.

1

Вы ответили сами. Вы не можете использовать подстановочные знаки в соответствии со спецификациями файла хоста.

Возможно, вы захотите попробовать другой и более сложный подход, если вам действительно нужно полностью заблокировать домен. Например, вы можете захотеть запустить свой собственный DNS, применяя фильтрацию должным образом.

Самым дешевым является использование оборудования Raspberry Pi для установки службы DNS (обязательно запустите DHCP на Raspy или соответственно настройте домашний маршрутизатор или используйте статические IP-адреса).

-2

Возможно, это старый вопрос, но ясно, что так и не был дан ответ.

Просто:

127.0.0.1 xyz // прямой поиск по адресу localhost

Это заблокирует любой домен с именем. Он дешевый и грязный, но он работает, когда вы сообщаете компьютеру, что этот домен находится по вашему «локальному IP», поэтому он не делает ничего, кроме тайм-аута.

Я использую этот метод, чтобы убить серьезно схематичные всплывающие веб-сайты, которые большинство программ adblock даже не остановят.

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