Как полностью заблокировать домен с помощью файла Hosts

Как полностью заблокировать домен с помощью файла Hosts

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

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

http: с/безwww

www(без http)

https:

http://foobar.com

фтп

и т. д.

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

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

решение1

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

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

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

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

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

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

2.) — это чушь собачья.

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

Запуск собственного DNS не требует больших усилий, и в сети есть множество полезных ресурсов. Попробуйте поискать в Google "bind howto".

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

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

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

решение2

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

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

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

решение3

Возможно, это старый вопрос, но на него до сих пор нет ответа.

Простой:

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

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

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

Связанный контент