Файл hosts: что это такое, где находится и как его изменить

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

Файл hosts — это простой текстовый файл без расширения, который операционная система проверяет до обращения к DNS. Если в нём есть запись для домена, компьютер использует указанный IP-адрес напрямую. Именно поэтому hosts применяют для локальной разработки, блокировки нежелательных сайтов и диагностики сетевых проблем.

Что такое файл hosts и как он работает

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

Когда вы вводите адрес сайта в браузере, система сначала смотрит в hosts. Если совпадение найдено — запрос уходит на указанный IP. Если нет — включается обычный механизм DNS-резолвинга. Таким образом, записи в hosts имеют приоритет над DNS, и это одновременно удобный инструмент и потенциальная уязвимость.

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

127.0.0.1 localhost

::1 localhost

Адрес 127.0.0.1 — это loopback-интерфейс, то есть сам компьютер. Именно поэтому слово «локалхост» часто ассоциируется с файлом hosts: запись localhost указывает на локальную машину и используется веб-разработчиками для тестирования сайтов на своём ПК.

Где находится файл hosts в разных системах

Расположение файла зависит от операционной системы. Ниже — стандартные пути для основных платформ.

Операционная системаПуть к файлу hosts
Windows 10 / 11C:\Windows\System32\drivers\etc\hosts
Windows 7 / 8C:\Windows\System32\drivers\etc\hosts
Linux (Ubuntu, Debian и др.)/etc/hosts
macOS/etc/hosts
Android (с root-доступом)/system/etc/hosts или /etc/hosts

В Windows быстрее всего добраться до файла через строку «Выполнить»: нажмите Win + R и введите путь к папке %SystemRoot%\System32\drivers\etc. В Linux и macOS файл открывается любым текстовым редактором с правами суперпользователя.

Как открыть и отредактировать hosts в Windows

Главная сложность при редактировании hosts в Windows — права администратора. Если открыть файл обычным способом и попытаться сохранить изменения, система откажет в записи. Поэтому редактор нужно запускать с повышенными привилегиями.

Порядок действий для стандартного «Блокнота»:

  • 🖱️ Откройте меню «Пуск», найдите «Блокнот», кликните по нему правой кнопкой и выберите «Запуск от имени администратора».
  • 📂 В Блокноте выберите «Файл» → «Открыть» и перейдите в C:\Windows\System32\drivers\etc.
  • 👁️ В поле типа файлов переключите «Текстовые документы» на «Все файлы» — иначе hosts не будет виден, так как у него нет расширения.
  • ✏️ Внесите нужные строки в конец файла и сохраните через Ctrl + S.

☑️ Проверка перед сохранением hosts

Выполнено: 0 / 5

После сохранения изменения обычно применяются сразу, но иногда помогает очистка DNS-кеша командой в командной строке:

ipconfig /flushdns
📊 Для чего вы редактируете файл hosts?
Блокировка нежелательных сайтов
Локальная веб-разработка
Исправление последствий вируса
Перенаправление домена на другой сервер

Редактирование hosts в Linux и macOS

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

sudo nano /etc/hosts

В редакторе nano перемещайтесь стрелками, добавьте строки, затем сохраните файл сочетанием Ctrl + O и выйдите через Ctrl + X. Вместо nano можно использовать любой другой редактор — например, vim или графический gedit, если он установлен.

В macOS после правки иногда требуется сбросить DNS-кеш, чтобы изменения вступили в силу немедленно. Команда зависит от версии системы, поэтому актуальный вариант стоит уточнить в официальной документации Apple для вашей версии macOS.

⚠️ Внимание: не удаляйте существующие системные строки из файла hosts, особенно записи для localhost. Их отсутствие может нарушить работу локальных служб и некоторых программ.

Зачем редактируют файл hosts: типичные сценарии

Чаще всего файл hosts правят осознанно, для конкретных задач. Вот основные сценарии:

  • 🔒 Блокировка сайтов — запись вида 127.0.0.1 example.com отправляет запрос на локальный адрес, и сайт перестаёт открываться в любом браузере.
  • 🛠️ Локальная разработка — веб-разработчики привязывают тестовые домены к 127.0.0.1 или адресу локального сервера, чтобы проверять сайты до публикации.
  • 🌐 Проверка сайта на новом сервере — при переезде на другой хостинг можно направить домен на новый IP локально, не меняя DNS-записи для всех посетителей.
  • 🚫 Отключение рекламных и телеметрических доменов — некоторые пользователи добавляют списки нежелательных доменов с перенаправлением на loopback.

Вирусы и файл hosts: как распознать подмену

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

Признаки того, что файл мог быть изменён без вашего ведома: сайт открывается не тот, что обычно; антивирус или соцсеть «просят обновление» на незнакомой странице; в файле есть строки с известными доменами, которые вы не добавляли. Проверка проста — откройте hosts в Блокноте и просмотрите все строки без символа # в начале.

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

Если обнаружились чужие записи, недостаточно просто их удалить — нужно проверить систему антивирусом, иначе строки могут появиться снова. Также стоит сменить пароли от сервисов, чьи домены были перенаправлены.

Как выглядит стандартный файл hosts в Windows

По умолчанию файл содержит закомментированные пояснения Microsoft и, как правило, не содержит активных записей — все строки начинаются с символа #. В некоторых случаях присутствует запись 127.0.0.1 localhost. Активные строки с доменами популярных сайтов, которых вы не добавляли сами, — повод для проверки системы.

Как восстановить файл hosts по умолчанию

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

В Windows достаточно открыть файл от имени администратора, удалить все строки и сохранить пустой файл либо оставить только запись 127.0.0.1 localhost. В Linux и macOS аналогично — оставьте стандартные строки localhost и при необходимости имя компьютера, привязанное к 127.0.1.1 (в некоторых дистрибутивах).

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

Часто задаваемые вопросы

Файл hosts не сохраняется — что делать?

Причина почти всегда в отсутствии прав администратора. Запустите текстовый редактор от имени администратора и открывайте файл через него. Также проверьте, не установлен ли на файле атрибут «только чтение», и не блокирует ли его антивирус — некоторые защитные программы контролируют изменения hosts.

Нужно ли перезагружать компьютер после правки hosts?

Нет, перезагрузка не требуется. Изменения применяются сразу после сохранения файла. Если сайт всё ещё открывается по-старому, очистите DNS-кеш командой ipconfig /flushdns и обновите страницу в браузере с очисткой кеша.

Можно ли заблокировать сайт через hosts на всех браузерах сразу?

Да. Файл hosts работает на уровне операционной системы, поэтому запись действует для всех браузеров и программ, использующих системный резолвер. Исключение — приложения с собственным механизмом DNS, например браузеры с включённым DNS-over-HTTPS, которые могут игнорировать hosts.

Чем отличается 127.0.0.1 от localhost?

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

Почему запись в hosts не срабатывает?

Проверьте синтаксис: IP и домен должны быть в одной строке и разделены пробелом, без опечаток. Убедитесь, что строка не закомментирована символом #. Также очистите DNS-кеш и учтите, что браузер с DNS-over-HTTPS может обходить файл hosts — временно отключите эту функцию для проверки.