Найти тему
Заметки на полях

Редактирование HOST файла

Оглавление

Для доступа к любым сайтам в Интеренете компьютеру необходимо знать его IP-адрес. В подавляющем большинстве случаев для этого используется запрос к службе системы доменных имен - DNS (Domain Name System), который автоматически сопоставляет имя запрашиваемого сайта и его фактический IP-адрес. Служба DNS выполняет операцию по преобразованию имени сайта в понятный для компьютера IP-адрес. Во всех современных операционных системах Windows, Linux и Mac OS существует системный файл hosts (текстовый файл не имеющий расширения), который так же как и DNS используется для сопоставления имен узлов с IP-адресами.

Запрос к файлу HOSTS имеет более высокий приоритет перед запросом к DNS-серверам.

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

По умолчанию запросы выполняются в следующей последовательности:

  1. Если запрашиваемое имя сайта (хоста) присутствует в файле hosts , то его IP-адрес берётся из этого файла и запрос к DNS серверу не выполняется.
  2. Если в файле hosts имя сайта (хоста) не найдено, то выполняется запрос к DNS серверу.

Расположение файла hosts в системе:

Расположение файла hosts в различных операционных системах
Расположение файла hosts в различных операционных системах

В операционных системах семейства Windows файл hosts располагается в по адресу: C:\Windows\System32\Drivers\etc.

Расположение файла HOST в Windows-системах
Расположение файла HOST в Windows-системах

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

HKLM/SYSTEM/CurrentControlSet/services/Tcpip/Parameters
Задание пути к файлу HOST в реестре Windows
Задание пути к файлу HOST в реестре Windows

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

Включить опцию отображения скрытых файлов и папок
Включить опцию отображения скрытых файлов и папок

Содержание файла hosts для операционных систем семейства Windows по умолчанию выглядит вот так:

Содержимое файла HOSTS в операционной системе Windows 10
Содержимое файла HOSTS в операционной системе Windows 10

Обычно там присутствуют две строки для обозначения локального хоста (localhost):

127.0.0.1 localhost (или "0.0.0.0 localhost")
::1 localhost

Запись "127.0.0.1 localhost" или "0.0.0.0 localhost" (в зависимости от используемой версии Windows) используется для для протокола IPv4, а запись "::1 localhost", соответственно, для протокола IPv6. Также в заголовке файла могут присутствовать различные строки содержащие в начале строки символ # (решетка), который означает, что данные строки являются комментариями и не учитываются системой.

localhost — («локальный хост», этот компьютер) — стандартное, официально зарезервированное, доменное имя для частных IP-адресов.
То есть, ни один сайт, в сети Интеренет, не может иметь доменное имя localhost и IP-адрес из указанного диапазона 127.0.0.1 - 127.255.255.255.

Основные правила редактирования файла hosts:

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

  • Каждая запись хоста должна располагаться на отдельной строке;
  • первым в строке указывается IP-адрес хоста, например "127.0.0.1";
  • далее следует разделитель - символ пробела или табуляции;
  • далее указывается имя хоста (ресурса), например "mc.yandex.ru";
  • далее через разделитель может быть указан коментарий, который должен начинаться с символа "# " (решётка), необязательное поле.
пример записи в файле HOST
пример записи в файле HOST

Зачем может понадобиться правка файла hosts:

Перенаправление доменов

Особенность файла hosts в том, что он имеет приоритет перед обращением к DNS-серверам. Перенаправление доменов используется программистами и администраторами интрасети (например, перенаправление local на узлы интрасети), а также для ускорения загрузки сайтов путём сопоставления их IP-адресов доменным именам. Например:

173.194.32.184 google.com # редирект с google.com на google.ru

Данная запись в файле hosts означает, что для сайта "google.com" установлен редирект на адрес "173.194.32.184". Данный адрес является IP-адресом локальной версии сайта Google - google.ru. Теперь, если в адресной строке браузера набрать адрес сайта "google.com" то хост-файл в соответствии с правилом переадресует браузер на локальное зеркало "google.ru". Такой способ использовался раньше для ускорения загрузки страниц, но в настоящее время практически не используется.

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

Блокировка ресурсов и рекламы

С помощью файла hosts можно легко и эффективно управлять доступом к определенным сайтам в сети Интернет и осуществлять фильтрацию рекламы путём их блокирования, т.е. перенаправления адресов рекламных и баннерных сайтов на адрес локального хоста - "127.0.0.1" или "0.0.0.0". Особой разницы что именно вписывать в hosts - нет, поскольку:

  • "127.0.0.1" - это специальный зарезервированный адрес который является частью сети 127/8 и указывающий на loopback интерфейс локального компьютера - localhost.
  • "0.0.0.0" - это специальный немаршрутизируемый мета-адрес, используемый для обозначения недопустимого, неизвестного или несуществующего хоста.

Используя перенаправление можно легко заблокировать нежелательные сайты, прописав в hosts файл соответствующие записи для развлекательных сайтов, например в организациях часто блокируют доступ к сайтам "ВКонтакте" и "Одноклассники", достаточно добавить в hosts файл строки следующего содержания:

127.0.0.1 vk.com
127.0.0.1 www.vk.com
127.0.0.1 vkontakte.ru
127.0.0.1 www.vkontakte.ru
127.0.0.1 ok.ru
127.0.0.1 www.ok.ru
127.0.0.1 odnoklassniki.ru
127.0.0.1 www.odnoklassniki.ru

Таким же образом можно заблокировать нежелательную рекраму, которая вылезает на сайтах и тормозит открытие веб-страниц.
Для блокировки рекламы Rндекса, попробуйте добавите в hosts следующие строки:

0.0.0.0 advertising.yandex.ru
0.0.0.0 www.advertising.yandex.ru
0.0.0.0 audience.yandex.ru
0.0.0.0 www.audience.yandex.ru
0.0.0.0 direct.yandex.ru
0.0.0.0 www.direct.yandex.ru
0.0.0.0 metrika.yandex.ru
0.0.0.0 www.metrika.yandex.ru
0.0.0.0 partner.yandex.ru
0.0.0.0 www.partner.yandex.ru
0.0.0.0 yandexdatafactory.com
0.0.0.0 www.yandexdatafactory.com
0.0.0.0 partner.yandex.ua
0.0.0.0 www.partner.yandex.ua
0.0.0.0 metrika.yandex.ua
0.0.0.0 www.metrika.yandex.ua
0.0.0.0 metrica.yandex.com
0.0.0.0 www.metrica.yandex.com
0.0.0.0 metrica.yandex.ru
0.0.0.0 www.metrica.yandex.ru
0.0.0.0 clck.yandex.ru
0.0.0.0 www.clck.yandex.ru
0.0.0.0 mc.yandex.ru
0.0.0.0 www.mc.yandex.ru
0.0.0.0 yabs.yandex.ru
0.0.0.0 www.yabs.yandex.ru
0.0.0.0 yabs.yandex.ua
0.0.0.0 www.yabs.yandex.ua
0.0.0.0 an.yandex.ru
0.0.0.0 www.an.yandex.ru
0.0.0.0 an.yandex.ua
0.0.0.0 www.an.yandex.ua
0.0.0.0 3ds.money.yandex.ru
0.0.0.0 abo.market.yandex.ru
0.0.0.0 bs.yandex.ru
0.0.0.0 click.yandex.ru
0.0.0.0 mc.yandex.ru
0.0.0.0 market-click2.yandex.ru
0.0.0.0 partner.market.yandex.ru
0.0.0.0 www.adv.yandex.ru
0.0.0.0 yandex-question.naydex.net
0.0.0.0 naydex.net
0.0.0.0 yandexadexchange.net

Обратите внимание, что блокируя рекламные хосты вы тем самым нарушаете привычное отображение страниц, может "поплыть" разметка страниц, расположение элементов и т.п.

  • Более подробно о блокировке рекламы с помощью hosts файла написано тут, читайте и пробуйте.
  • Готовый hosts с настройками для блокировки рекламы от Rндекса можно скачать тут.

Программы для работы с HOSTS файлом

Поскольку файл hosts представляет собой обычный текстовый файл, то для его редактирования можно использовать любой текстовый редактор, например "Блокнот" для Windows или "Nano" для Linux.

Файл hosts является системным, соответственно его редактирование и запуск текстового редактора нужно в обязательном порядке осуществлять с правами администратора! Для запуска редактора использовать команды "Запуск от имени администратора" в Windows и "su" или "sudo" для запустка с правами суперпользователя в Linux.

Также создано немало специализированных программ, облегчающих и автоматизирующих работу с этим файлом.

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

Notepad++
Notepad++

HostsXpert, еще один редактор hosts файла. Минимальный набор опций, ничего лишнего. Скачать портативную версию можно тут.

HostsExpert
HostsExpert

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

Редактирование HOST файла в редакторе Hosts Editor
Редактирование HOST файла в редакторе Hosts Editor

Антивирусы и модифицированный hosts файл:

Еще один немаловажный момент! Перед внесением изменений в hosts файл в обязательном порядке отключайте антивирус! Многие антивирусы (например, DrWeb, Антивирус Касперского, F-Secure) постоянно мониторят доступ к HOSTS файлу и его содержимому, блокируют попытки его изменения и удаляют модифицированный файл, помечая его как заражённый вирусом "HOSTS:SUSPICIOUS.URL".

DrWeb CureIt! обнаружил модифицированный HOSTS файл
DrWeb CureIt! обнаружил модифицированный HOSTS файл

HOSTS:SUSPICIOUS.URL — тип угрозы, которая вносит изменения в файл hosts. Может блокировать некоторые сайты, а также перенаправлять вас на фальшивые.

Защитник Windows также с лёгкостью обнаружил модифицированный HOSTS файл и определил его как потенциально опасную программу: SettingsModifier:Win32/HostsFileHijack. Следует отметить, что Защитник обнаружил измененный файл hosts не в системной папке, а в папке с резевными копиями, расположенной на сетевом диске.

-12

Подобным образом Защитник Windows реагирует на наличие в файле блокировок на доступ к серверам Microsoft. Часто эти сервера блокируются в hosts файле, когда пользователь хочет запретить автоматическую загрузку на компьютер обновлений Windows 10 или отключает телеметрию — ее многие пользователи операционной системы Microsoft называют “функцией слежения”. Соответственно, когда в файле hosts система обнаруживает блокировку доступа к серверам Microsoft, она реагирует соответствующей ошибкой - SettingsModifier: Win32 / HostsFileHijack.

Почему же антивирусы так реагируют на безвредный текстовый файл?

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

Вирус может модифицировать hosts файл, указав, например, редирект с легального сервера на поддельный, где лежит только внешне похожая копия сайта (например Сбербанка). После открытия такого поддельного сайта и ввода логина/пароля вас может перекинуть уже на настоящий сайт, при этом логин и пароль — будут отправлены мошенникам.

Содержимое модифицированного вирусом HOSTS файла
Содержимое модифицированного вирусом HOSTS файла

Вирусы подобные HOSTS:SUSPICIOUS.URL и SettingsModifier: Win32/ HostsFileHijack могут причинить серьезный вред вашему компьютеру:

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

    Также данные компьютерные вирусы могут “защищаться” маскировкой:
  • делать файл скрытым;
  • в файле добавлять вредоносный код в самый низ, отделив его большим количеством пустых срок;
  • создавать ложную копию файла вида hosts.txt.

Спобы защиты и лечения hosts файла:

Защитить hosts файл не так трудно как кажется. Нужно соблюдать элементарные правила компьютерной безопасности, регулярно проводить проверку системного раздела антивирусом и проверять содержимое hosts файла. Большинство антивирусов автоматически заблокируют изменение системных файлов и предотвратит их заражение.

Если всеже hosts файл модифицирован, то пугаться тоже не нужно.

  1. В папке C:\Windows\System32\Drivers\etc необходимо удалить все подозрительные копии файла hosts (если они есть) типа hosts.txt, hosts.doc и т.п., оставив лишь один файл hosts без расширений.
  2. Открыть файл hosts для редактирования и удалить все строки кроме "127.0.0.1 localhost", если такая присутствует. Также рекомендуется провести проверку системы с помощью специализированных программ:

Dr.Web CureIt! — мощная и бесплатная программа для удаления опасных вирусов типа троянов, майнеров, ботнетов. Скачать актуальную версию можно с официального сайта уже с актуальными антивирусными базами. Программа не требует установки в систему и является портабельной. Длительность проверки зависит от количества файлов на диске, по окончании требуется перезагрузка.

-14

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

-15

Для очистки hosts файла необходимо перейти в настройки программы, затем в меню "Параметры" - "Приложение" и включить пункт "Сбросить файл hosts". После этого необходимо главной вкладке программы AdwCleaner выполнить сканирование и очистку, в ходе которой hosts файл будет очищен и восстановлен.

На этом всё!