Открыть сервис

HOSTS.TXT

HOSTS.TXT — это текстовый файл, используемый операционными системами для сопоставления доменных имён (хостов) с IP-адресами. Является предшественником современной системы доменных имён (DNS) и до сих пор поддерживается большинством операционных систем (Windows, Linux, macOS, Android) для локального разрешения имён. Файл не имеет расширения (в Windows может называться hosts без .txt, хотя исторически и в некоторых контекстах упоминается как HOSTS.TXT). Приоритет файла hosts над DNS-запросами позволяет администраторам и пользователям вручную задавать соответствия, обходя или переопределяя глобальные DNS-серверы.

История

Эпоха ARPANET

Файл HOSTS.TXT появился в ранней сети ARPANET (предшественнице интернета), созданной Министерством обороны США. В 1970-х годах, когда сеть объединяла лишь несколько десятков компьютеров, не существовало централизованной системы имён. Вместо неё использовался единый текстовый файл, который вручную поддерживался Сетью информационного центра (Network Information Center, NIC) при Стэнфордском исследовательском институте (SRI). Этот файл содержал список всех известных хостов с их IP-адресами и именами. Администраторы узлов регулярно отправляли изменения в NIC, а затем загружали обновлённую версию HOSTS.TXT через протокол FTP.

Проблемы масштабирования

По мере роста ARPANET (к началу 1980-х годов количество хостов превысило несколько сотен) ручное управление HOSTS.TXT стало неэффективным. Основные проблемы:

  • Задержки обновлений: изменения могли распространяться неделями.
  • Конфликты имён: отсутствие механизма уникальности приводило к дублированию и путанице.
  • Рост трафика: ежедневная передача растущего файла по сети создавала нагрузку.
  • Отсутствие иерархии: все имена были плоскими (например, MIT-MC), что затрудняло администрирование.

Переход к DNS

В 1983 году Пол Мокапетрис (Paul Mockapetris) разработал распределённую систему доменных имён (DNS), описанную в RFC 882 и RFC 883. В 1984 году DNS была внедрена в ARPANET, а файл HOSTS.TXT был официально заменён. Однако из-за инерции и простоты файл hosts (без расширения) остался в системах как локальное средство переопределения DNS. В современных ОС он используется для блокировки рекламы, перенаправления локальных запросов (например, localhost) или обхода блокировок (на свой страх и риск, с учётом законодательства).

Структура и синтаксис

Файл hosts представляет собой обычный текстовый файл. Каждая строка содержит правило, состоящее из IP-адреса и одного или нескольких доменных имён, разделённых пробелами или табуляцией. Комментарии начинаются с символа #. Пустые строки игнорируются.

Формат записи

`` IP-адрес доменное_имя [псевдоним ...] [# комментарий] ``

Пример содержимого (стандартный файл в Windows 10): ```

Copyright (c) 1993-2009 Microsoft Corp.

Это пример файла HOSTS, используемого Microsoft TCP/IP для Windows.

127.0.0.1 localhost ::1 localhost ```

Особенности

  • IP-адреса: могут быть IPv4 (четыре десятичных числа) или IPv6 (шестнадцатеричная запись). Для IPv6 используется адрес ::1 для localhost.
  • Доменные имена: регистр не имеет значения (все имена приводятся к нижнему регистру).
  • Псевдонимы: можно указать несколько имён для одного IP (например, 127.0.0.1 site1.com site2.com).
  • Порядок: система читает файл построчно сверху вниз. Первое совпадение имени с записью используется. Если имя не найдено, выполняется DNS-запрос.

Расположение в операционных системах

Путь к файлу hosts зависит от ОС:

Операционная системаПуть к файлу
Windows (все версии)%SystemRoot%\System32\drivers\etc\hosts (обычно C:\Windows\System32\drivers\etc\hosts)
Linux / Unix/etc/hosts
macOS/etc/hosts (или /private/etc/hosts)
Android/system/etc/hosts (требуется root-доступ)
iOS / iPadOS/etc/hosts (только в джейлбрейк-устройствах)

Для редактирования файла в Windows требуются права администратора (запуск Блокнота от имени администратора). В Linux/macOS — права суперпользователя (sudo).

Применение

Блокировка нежелательного контента

Наиболее распространённое современное использование — блокировка рекламных, трекерных и вредоносных доменов. Путём перенаправления запросов на 127.0.0.1 (локальный компьютер) или 0.0.0.0 (недоступный адрес) можно предотвратить загрузку рекламных баннеров, скриптов отслеживания и посещение опасных сайтов. Существуют общедоступные списки блокировки (например, от проектов StevenBlack, MVPS), которые объединяют тысячи записей.

Перенаправление локальных запросов

  • Разработка и тестирование: веб-разработчики используют hosts для перенаправления доменов на локальный сервер (например, 127.0.0.1 mysite.local), чтобы тестировать сайты до публикации.
  • Блокировка нежелательных обновлений: можно заблокировать серверы обновлений программ (например, 127.0.0.1 updates.example.com), хотя это может нарушить лицензионные соглашения.

Обход блокировок (осторожно, с учётом законодательства РФ)

В некоторых случаях пользователи редактируют файл hosts, чтобы получить доступ к сайтам, заблокированным на уровне DNS-провайдера. Например, добавляя запись с IP-адресом сайта, который не блокируется. Однако это может нарушать законодательство РФ (например, обход блокировок сайтов, внесённых в Единый реестр запрещённой информации, может быть признан административным или уголовным правонарушением). Кроме того, использование непроверенных IP-адресов несёт риски безопасности (фишинг, вредоносное ПО).

Ускорение доступа

В редких случаях можно вручную прописать IP-адрес часто посещаемого сайта, чтобы избежать задержек DNS-запроса. Однако этот метод неэффективен для современных сайтов, использующих CDN и балансировку нагрузки, так как IP-адреса могут меняться.

Ограничения и риски

  • Размер файла: при использовании больших списков блокировки (сотни тысяч строк) файл может замедлить работу системы, так как каждое сетевое соединение вызывает его чтение.
  • Отсутствие автоматического обновления: в отличие от DNS, записи в hosts статичны. Если IP-адрес сайта изменится, пользователь должен вручную обновить файл.
  • Безопасность: вредоносные программы могут изменять файл hosts, перенаправляя легитимные сайты на фишинговые страницы (например, 127.0.0.1 vk.com на IP мошеннического сервера). Поэтому файл часто является целью антивирусного сканирования.
  • Конфликты с DNS: если в hosts указан неверный IP, доступ к сайту будет невозможен, даже если DNS-серверы возвращают правильный адрес.

Правовой аспект в РФ

В Российской Федерации использование файла hosts для обхода блокировок сайтов, внесённых в Единый реестр запрещённой информации (например, экстремистских материалов, сайтов с порнографией несовершеннолетних, пропаганды наркотиков), может быть расценено как нарушение Федерального закона № 149-ФЗ «Об информации, информационных технологиях и о защите информации». Административная ответственность предусмотрена статьёй 13.41 КоАП РФ (штрафы до 500 000 рублей для юридических лиц). Уголовная ответственность (ст. 272 УК РФ «Неправомерный доступ к компьютерной информации») возможна в случае взлома или модификации системных файлов с корыстной целью. Рекомендуется использовать файл hosts только для легальных целей, таких как блокировка рекламы или локальная разработка.

Интересные факты

  • В ранних версиях Windows (до Windows 95) файл назывался HOSTS без расширения, но в документации Microsoft часто упоминается как HOSTS.TXT из-за наследия ARPANET.
  • В 1980-х годах файл HOSTS.TXT содержал всего несколько десятков записей, включая такие исторические хосты, как SRI-NIC, MIT-MC и UCLA-CCN.
  • Проект StevenBlack/hosts на GitHub (не является организацией, признанной экстремистской или нежелательной в РФ) объединяет несколько списков блокировки в единый файл, который используется миллионами пользователей по всему миру.
  • В некоторых корпоративных сетях файл hosts используется для внутренней маршрутизации, когда DNS-серверы недоступны или не настроены.

Источники

  • RFC 882 — Domain Names: Concepts and Facilities (1983)
  • RFC 883 — Domain Names: Implementation and Specification (1983)
  • Документация Microsoft Windows: «Hosts file» (справка по TCP/IP)
  • Федеральный закон № 149-ФЗ «Об информации, информационных технологиях и о защите информации» (с изменениями)
  • Кодекс Российской Федерации об административных правонарушениях (КоАП РФ), ст. 13.41
  • Уголовный кодекс Российской Федерации (УК РФ), ст. 272

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →