526

Первый эшелон: блокировка интернет-шлака через HOSTS


Давным-давно, когда Интернета еще не было, человечество собиралась поработить компьютерная сеть SkyNet ARPANET, к которой на пике ее расцвета было подключено аж несколько сотен компов. Поэтому список всех существующих необходимых в работе сетевых ресурсов и их адреса хранились на каждом таком компьютере, в файле HOSTS.TXT


С тех пор к уже глобальной Сети подключили еще сколько-то миллиардов компьютеров, смартфонов, телевизоров, утюгов и других устройств, которым доступны миллиарды сайтов, IP-адреса которых постоянно меняются. В общем, все стало сложно, но файл HOSTS.TXT (ныне просто hosts) остался и работает так же, как и 30+ лет назад.


Если кратко и без зауми, то работает он так: вы в браузере набираете «pikabu.ru» и ваша Windows/Android/iOS первым делом лезет в файл hosts на вашем устройстве – проверить, не сказано ли там что-нибудь про искомый сайт. Если не сказано, тогда начинаются DNS-запросы во внешний мир и прочая суета, к делу не относящаяся, а вот если сказано... то смотря что.


Нас интересует не все богатство возможностей манипуляций с этим файлом, а лишь одно из возможных (и, к слову, нецелевое) его использований – в качестве первого эшелона обороны от разнообразного интернет-шлака – рекламы, счетчиков, трекеров и прочей гнуси, любезно подсовываемой нам сегодня каждым первым сайтом.


С помощью файла hosts мы можем сказать своей операционной системе: ресурса, к которому ты собираешься обратиться, согласно инструкциям, полученным на открытом нами сайте, не существует, даже не пытайся его загрузить. Говорится это так: в «Блокноте» открывается файл hosts (обычно находится в папке C:\Windows\System32\Drivers\Etc), в него добавляется строчка, например, 0.0.0.0 googleads.g.doubleclick.net после чего файл сохраняется.

Первый эшелон: блокировка интернет-шлака через HOSTS Файл hosts, Информационная безопасность, Windows, Android, Интернет, Длиннопост, Блокировка рекламы
Все, большинство шлака от рекламной сети Google даже не загружается на наш комп, а сама Корпорация Добра лишается одной из возможностей шпионить за нами. googleads.g.doubleclick.net – это доменное имя, ресурсы с которого мы загружать не хотим. 0.0.0.0 – адрес, на который мы принудительно переадресуем все запросы к доменному имени googleads.g.doubleclick.net В данном случае этот адрес будет расценен операционной системой, как заведомо несуществующий, и запрос к нему будет сброшен.
Первый эшелон: блокировка интернет-шлака через HOSTS Файл hosts, Информационная безопасность, Windows, Android, Интернет, Длиннопост, Блокировка рекламы

Как узнать, какие доменные имена стоит заблокировать в hosts? Самый простой способ – скачать один из готовых и регулярно обновляемых списков, например, MVPS HOSTS. Плюсы – все уже сделано за вас, минусы – те же самые: в список могли добавить что-то лишнее, что именно вам не мешает и даже наоборот, а чего-то, мешающее именно вам, могли и не добавить.


Я добавляю вручную, узнавая имена мешающих мне доменов с помощью инструментов разработчика, встроенных в Firefox (в Chrome есть аналог). Инструменты/Веб-разработка/Сеть, «Обновите», клик на колонке «Домен», чтобы отсортировать список открытых страницей подключений по доменным именам.

Первый эшелон: блокировка интернет-шлака через HOSTS Файл hosts, Информационная безопасность, Windows, Android, Интернет, Длиннопост, Блокировка рекламы

И вот, на примере сайта РБК, видим кучу доменных имен, которые мы не заказывали – счетчик, рекламная сеть, снова счетчик, опять счетчик, и еще раз счетчик... (читай – шпионский модуль), и это лишь то, что на скриншот влезло, а если прокрутить вниз, там еще сюрпризы будут. Вот их-то ручками, ручками – ничего лишнего, но и никто не спрячется. Видим в колонке «Статус» пустое место вместо «200» или иного кода – все правильно сделал!

Первый эшелон: блокировка интернет-шлака через HOSTS Файл hosts, Информационная безопасность, Windows, Android, Интернет, Длиннопост, Блокировка рекламы

Если же надо отловить самовольные запросы к посторонним доменам от других программ или самой операционной системы, на помощь приходит DNSQuerySniffer. Например, хочет Windows 10 слить в сеть «телеметрию» (строго в наших же интересах, конечно), а мы не хотим: запускаем DNSQuerySniffer, смотрим в реальном времени список доменных имен, к которым идут обращения, понимаем, что сами мы в этом время не обращались ни к одному из них, открываем файл hosts, copy/paste...


В чем недостатки способа блокировки через hosts и почему мы говорим лишь о первом (а значит, не единственном) эшелоне обороны от интернет-шлаков? Первый и главный – он не предусматривает возможности использовать «маски». Т.е., если нам надо заблокировать такие доменные имена:

1.doubleclick.net

2.doubleclick.net

...

99.doubleclick.net

нам придется их все, поименно добавлять в hosts, вместо того, чтобы добавить одну «маску» – *.doubleclick.net.


Второй: hosts позволяет заблокировать доступ к доменному имени вообще, для всех сразу, без исключений. Заблокировать доступ только браузеру, а почтовому клиенту оставить – невозможно, для этого нужен полноценный межсетевой экран (файрвол).


В остальном же – одни сплошные плюсы: изменения, внесенные в файл, активируются сразу; даже большой файл hosts не нагружает систему и не приводит к зависаниям браузера, логика работы списка блокированных доменов прозрачна. И, самое главное, заблокировать домен с мусором сможет даже не самый продвинутый пользователь ПК.

Первый эшелон: блокировка интернет-шлака через HOSTS Файл hosts, Информационная безопасность, Windows, Android, Интернет, Длиннопост, Блокировка рекламы

На закуску – немного дополнительных знаний, для интересующихся. Если не нашли ответа на свой вопрос – комменты открыты ;)


1. В Android файл hosts расположен в директории: /system/etc/ Права на файл (CHMOD): 644 (-rw-r-r--) Доступ к этой директории возможен лишь при наличии root-прав. Символ переноса строки в файле: LF (про это часто забывают, копируя файл из Windows).


2. Правильно посылать нежелательные домены на три буквы 0.0.0.0 (в Windows можно для краткости просто на 0), а не на 127.0.0.1 В контексте файла hosts 0.0.0.0 означает «несуществующий адрес», обращение к которому сразу приводит к завершению соединения. А 127.0.0.1 означает вполне себе существующий адрес – он служит для имитации обращения к тому же самому компьютеру из сети. Т.е. вместо сразу «нет такого адреса» мы получим через какое-то (пусть и небольшое) время «никто не отвечает». Хотя в некоторых случаях могут и ответить, что чревато сбоем системы.


3. Файл hosts – первый, но не единственный (и даже не главный) эшелон защиты компьютера от интернет-шлака. Не стоит забывать про межсетевой экран, системы контентной фильтрации, плагины для браузера с тем же назначением, да и просто грамотную настройку программ, вылезающих в Интернет. А для ценителей – локальные прокси, позволяющие вволю поглумиться над своим трафиком, прежде чем допускать его до браузера.

Найдены дубликаты

+12

1) примерно после 10000 записей в hosts начинают тормозить и жрать оперативу браузеры на всяких там i3/i5 - причем хуже, чем с адблоком;

2) Win10 умеет обходить блокировку адресов через этот файл.

раскрыть ветку 4
+3

1. Хм, не замечал даже когда MSVP стоял, а там побольше 10к записей...

2. ЕМНИП еще XP обходил для каких-то мелкософтовских адресов, если не 98. Вернее, не обходил, а обращался напрямую по IP, в этом случае hosts и не должен использоваться. Не подкинете ссылку, где почитать про обход в 10?

раскрыть ветку 3
0
MSVP
что за зверь?
раскрыть ветку 1
0

Ссылка, к сожалению, давненько утеряна. Читал в недрах хабра по темам телеметрии после Update 1 для Win10

+15

Как узнать, какие доменные имена стоит заблокировать в hosts?

Не переживайте, всё уже сделали:

https://www.someonewhocares.org/hosts/hosts


Полезные ссылки, где тоже можно скачать списки для блокировки:

adaway.org

mvps.org

malwaredomainlist.com

someonewhocares.org

раскрыть ветку 4
+2
127.0.0.1 www.2girls1cup.cc

Прям целый сайт сделали ?? Как же теперь отличить матёрого олдфага?

+2

Да я не переживаю, я ручками давно набил себе свою версию Рая ;) А вот с излишествами нехорошими в mvps.org лично сталкивался.

0
AdFree. Есть и под форточки и под ведро
раскрыть ветку 1
+2

Сижу с Umatrix горя не знаю

+4

"Первый эшелон" - это явно не HOSTS, а, как минимум, ваш первый сетевой интерфейс после сети провайдера. Дома это как правило маршрутизатор, который я рекомендую ставить свой личный, а не от провайдера - в этом случае и устройство выберете качественней и настроить сможете по своему вкусу. Вот на нём-то уже и можно выстроить первую линию защиты.

У меня дома например это недорогой TP-Link с прошивкой OpenWRT, где есть замечательный модуль AdBlock c GUI, который при очень легкой настройке (по вашему желанию и выбору) сам будет выкачивать списки тысяч сетей для блокировки и блокировать их непосредственно на маршрутизаторе, т.е. все домашние устройства, включая компьютеры, смартфоны, планшеты, телевизоры уже будут получать "очищенный" от рекламы и вредораспространителей трафик.

раскрыть ветку 3
+1

Тут не поспоришь, с научной точки зрения моя классификация хромает ;) Хотя... вот смотрите: выходите Вы со своим смартом из дома, и первым эшелоном у Вас становится сам смарт со своим локальным hosts ;)

раскрыть ветку 2
0

Ну тогда бы я это назвал скорей не "первый эшелон", а "последний рубеж" =)

раскрыть ветку 1
+3
раскрыть ветку 2
+4

Это для слабых духом. А  настоящие кулхакеры правят hosts.

раскрыть ветку 1
0
Иллюстрация к комментарию
+5

Божечки, вот вы динозавтра то отрыли))

Ладно мы лет 10 назад его юзали, но сейчас то зачем? С таким то разнообразием АДблоков,  фаерволов и прочей лабуды?

Или приятно почувствовать себя немного одмином?))) жесть

раскрыть ветку 7
+1

Лет 10 назад были уже и файрволы, и адблоки в широком ассортименте. И httpS почти не было, так что AdMuncher рулил ;) Так и что с того, если старый инструмент успешно выполняет свою функцию и поныне?

раскрыть ветку 6
0
Успешно?? Это вообще можно назвать инструментом? Мы двигаемся к автоматизации всего, а вы предлагаете руками работать с hosts?? Что за деградация?
раскрыть ветку 5
+5

Плохо понимаю, какой в этом всем смысл, если честно. Есть адблок. Чем вам мешает то, что не блочится адблоком? Для особых случаев есть тор.

раскрыть ветку 3
+3

Ну например хром и соответственно все браузеры на хромиуме собираются убрать/кастрировать API который позволяет адблоку работать.

ещё комментарии
+1
У мну Адблок со стандартыми листами легко подвешивает браузер. С отключеными, когда я сам добавляю в него лишь то, что не заблокировать в hosts - полет нормальный. Т.е. этот способ мне нравится пренебрежительно малыми накладными расходами и возможностью блокировать загрузки не только для конкретного браузера, а вообще. Телеметрия, проверки обновлений, лицензий, подгрузки чего угодно рубятся со свистом.
+2

Хызы, что у вас там в винде сейчас, но вообще 0.0.0.0 (aka просто 0) - это localhost, а не несуществующий хост, со всеми вытекающими.

Лучше брать что-то из 192.0.2.0/24 (TEST-NET-1), 198.51.100.0/24 (TEST-NET-2),  203.0.113.0/24 (TEST-NET-3)



$ ping 0

PING 0 (127.0.0.1) 56(84) bytes of data.

64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.038 ms

64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.029 ms

^C

--- 0 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 999ms

rtt min/avg/max/mdev = 0.029/0.033/0.038/0.007 ms

раскрыть ветку 9
0

Нет, localhost - это 127.0.0.1

Что такое 0.0.0.0 - зависит от "контекста", но в контексте переадресации туда из hosts - будет "несуществующий адрес".

Отдадим должное Винде: тут обошлось без изобретения собственных стандартов вопреки RFC.

раскрыть ветку 8
0

> Нет, localhost - это 127.0.0.1

Это не всегда верное утверждение. Как написано в hosts - так и будет. _Общепринятым_ (и захардкоженным в винде зачем-то) IPv4-адресом для хоста localhost является 127.0.0.1, IPv6 адресом ::1, но никто не запрещает изменить прописать в hosts любой другой - там весь 127.0.0.0/8 доступен

Мне вот 127.2.2.2 больше нравится, можно на него заменить:

:~$ ping 127.2.2.2

PING 127.2.2.2 (127.2.2.2) 56(84) bytes of data.

64 bytes from 127.2.2.2: icmp_seq=1 ttl=64 time=0.100 ms

^C

--- 127.2.2.2 ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 0.100/0.100/0.100/0.000 ms



> но в контексте переадресации туда из hosts - будет "несуществующий адрес".

Это тоже чушь. 0.0.0.0 никогда не был "несуществующим адресом". Если обращаться к русскоязычной документации, то это "неопределенный" адрес, а не несуществующий.

Но вообще-то этот адрес в RFC однозначно описано как "this host in this network". Если система посчитает, что "this host in this network" - это loopback, то трафик пойдет в 127.0.0.1. В данный момент linux-ы считают именно так (в том числе и андроиды), а BSD справедливо считает 0.0.0.0 адресом сети 0/8.


Ну а если в винде наконец-то решат соблюсти RFC - то ой, привет сворованные данные любым самым простеньким трояном. На андроиде-то хоть 80-й порт занять нельзя будет без рута.

раскрыть ветку 7
+4

Hosts - вредные советы

раскрыть ветку 20
+2

Обоснуйте.

раскрыть ветку 19
0

Реклама не показывается, бабло не капает.

0

Григория не читали?

раскрыть ветку 17
+1

https://adguard.com/ru/adguard-dns/overview.html


ну и для параноиков опенсурс решение селвхостед https://github.com/AdguardTeam/AdGuardHome  https://pi-hole.net/

раскрыть ветку 3
+1

Отдавать свой DNS-трафик куда-то налево? Блокировать одни трекеры, чтобы самому отдавать всю информацию другим? ;)

раскрыть ветку 2
+2

Pi-hole опенсорсный проект, можно почитать код и потом самому собрать его удостоверившись в чистоте от трекеров. Альтернативно можно настроить iptables чтобы контейнер докера, или firewall роутера чтобы малина/компьютер, на котором стоит pihole не имел доступа в внешний мир

раскрыть ветку 1
0
Спасибо
0

хех =) буквально через минуту после того как прочитал пост и переписал hosts =) на пикабушечке вдруг не робит рекламко =)

Иллюстрация к комментарию
0

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

раскрыть ветку 1
0

Тут поможет DNSQuerySniffer - им можно послушать, куда прога пытается залезть, и поискать этот домен в своем hosts.

0

А никто не встречал маленького локального днс-сервера, чтобы туда маски с адресами добавлять?
Я чет такое писал на питоне, но не взлетело, гнев, отрицание, торг, смирение, запой.

раскрыть ветку 1
+1

Чет такое встречал, но по названиям не подскажу. ИМХО надо копать в сторону локальных прокси, они может и без функций DNS, но работают в том же направлении. Вот это кажись ковырял http://handycache.ru но показалось из пушки по воробьям.

0

Для рекламы в скайпе, в своё время блочили

0.0.0.0 rad.msn.com

0.0.0.0 preview.msn.com

0.0.0.0 rad.msn.com

0.0.0.0 apps.skype.com

0.0.0.0 api.skype.com

0.0.0.0 static.skypeassets.com

раскрыть ветку 8
0

фотошоп

127.0.0.1 na1r.services.adobe.com

127.0.0.1 hlrcv.stage.adobe.com

127.0.0.1 lmlicenses.wip4.adobe.com

127.0.0.1 lm.licenses.adobe.com

127.0.0.1 activate.adobe.com

127.0.0.1 practivate.adobe.com

торрент

127.0.0.1 router.bittorent.com

127.0.0.1 router.utorrent.com

127.0.0.1 update.utorrent.com

Крайняя версия торрента без рекламы - 2.0.4


Идеальный вариант ghostery+uBlock

Параноидальный ghostery+uMatrix

раскрыть ветку 7
0

Гостери +ублок+адгуард)

0

Как заблочить рекламу в uTorrent? qBittorrent)) А вообще рекламные блоки отключаются внутри в расширенных параметрах насколько помню

раскрыть ветку 4
0

Вот не надо так категорично, это от версии софта зависит, домены меняются периодически. uTorrent вроде как 2.2.1 признан последним кошерным, и там еще кой-чего стоит заблокировать:

0 download.utorrent.com

0 llsw.download3.utorrent.com

0 utorrent.com - да, сам сайт тоже :(

Но это строго для версии 2.2.1, другая версия - другие хосты могут быть.

0

А что наука говорит про МАСи?

раскрыть ветку 1
0

Все то же самое, искомый файл лежит там же, где и в Android.

0
0

Следующий шаг - установить что-то типа PiHole

раскрыть ветку 6
+1

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

раскрыть ветку 5
+1

> что кто-то где-то как-то будет сам решать

добро пожаловать в опенсурс. у вас не линукс установлен? паранойа не мучает?

а если винда или мак, так за вами фбр уж точно давно следит

раскрыть ветку 3
0

Не то же самое. Не надо настраивать на каждом устройстве, только на точке доступа, плюс легче редактировать списки имен, потому что после такой процедуры почти всегда что-то ломается.

-1

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

раскрыть ветку 16
+8

Хотите мое ИМХО? Такой антивирус после такого заявления сносить под корень. Просто потому, что "тут что-то странное" - это не диагноз "профессионала", это и блондинка, впервые севшая за комп, сама себе сказать может.

раскрыть ветку 10
+8

И какой же антивирус определит, что ваша запись в файле хостс

vk.com 1.2.3.4

- это  ваша личная заморочка, а совсем-совсем не деятельность вируса на компе, который хочет слямзить у вас пароль ВК таким вот образом?

ещё комментарии
0

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

0

Каким антивирусом пользуетесь?

раскрыть ветку 3
0

обычно freedrweb, но жаловался не помню кто

-1

Никаким, когда-то давно hands.sys пропатчил и с тех пор не требуется.

раскрыть ветку 1
-3

Нахер такой антивирус сносите.

-3

А почему  0.0.0.0? Почему не 127.0.0.1?

раскрыть ветку 9
0

Прочтите мой текст до конца, или хотя бы самый конец.

раскрыть ветку 8
0

Мне интересно, в чем будет разница для пользователя? Я, например, могу настроить ресолв так, чтобы хостс игнорировался, и иногда так делаю, если ушлые разрабы начинают менять его содержимое.

раскрыть ветку 7
-3

На сегодня только самые убогие в смысле отсталые что-то через hosts блокируют...

раскрыть ветку 12
+1

Почему? Это очень удобно за счет мизерных накладных расходов. Тот же ADB может запросто браузер повесить.

раскрыть ветку 11
-1

Потому что блокируется только имя, по адресу спокойно ходит.

раскрыть ветку 10
-4

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

-8

Рекламу вы смотреть не хотите, а информацию получать хотите...

раскрыть ветку 3
+2

Ловите ссаного рекламщика

раскрыть ветку 1
-2

О хотите платные сайты?

+1

Виновен. Но еще больше я не хочу трекеров и вот этого всего.

ещё комментарии
Похожие посты
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: