Файл hosts на Android находится по пути /system/etc/hosts, и именно его проверяют в первую очередь, когда смартфон открывает не тот сайт, блокирует нужный ресурс или наоборот — пропускает рекламу, которую требовалось отсечь. Система читает этот файл раньше, чем обращается к DNS-серверу, поэтому одна некорректная строка в нём способна перенаправить любой домен на другой адрес или полностью заблокировать к нему доступ.
В отличие от Windows, где hosts правится обычным Блокнотом, на Android файл защищён системным разделом. Для полноценного редактирования требуются root-права, а без них доступны лишь обходные варианты — например, приложения, работающие через локальный VPN-интерфейс. Ниже разберём, как устроен файл, чем отличаются способы его изменения и как не «отрезать» себе интернет ошибочной записью.
Что такое файл hosts и зачем он нужен на Android
Файл hosts — это локальная таблица соответствия доменных имён IP-адресам. Когда вы вводите адрес сайта в браузере, система сначала ищет его в hosts, и только если записи там нет — отправляет запрос к DNS-серверу провайдера. Такой порядок позволяет принудительно задать для любого домена собственный адрес, минуя глобальную систему DNS.
На практике пользователи Android редактируют hosts в нескольких ситуациях:
- 🚫 Блокировка рекламных и трекинговых доменов на уровне всей системы, без отдельного блокировщика в браузере.
- 🔒 Запрет доступа к нежелательным сайтам — например, на детском или корпоративном устройстве.
- 🛠️ Перенаправление домена на тестовый сервер при разработке и отладке приложений.
- 🌐 Обход некорректных DNS-записей, когда домен должен открываться с конкретного IP-адреса.
- 🧪 Диагностика сетевых проблем: проверка, связана ли ошибка открытия сайта с DNS или с самим сервером.
Каждая строка файла имеет простой формат: сначала IP-адрес, затем через пробел — домен. Классический пример блокировки выглядит так:
127.0.0.1 example.com
127.0.0.1 www.example.com
Здесь домен направляется на localhost — само устройство, — и фактически перестаёт открываться. Обратите внимание: варианты с www и без него — это разные записи, и блокировать обычно нужно обе.
Где находится файл hosts на Android
Стандартный путь к файлу — /system/etc/hosts. По сути это символическая ссылка, которая в современных версиях Android ведёт в раздел /system/etc/, доступный только для чтения при обычной загрузке. Именно поэтому просто открыть файл текстовым редактором и сохранить изменения не получится — система вернёт ошибку записи.
Посмотреть содержимое файла без root-прав можно. Для этого подойдёт терминальный эмулятор или файловый менеджер с поддержкой системных каталогов. Команда просмотра в терминале:
cat /system/etc/hosts
В стандартном виде файл содержит всего одну-две строки — запись для localhost. Если там внезапно обнаружились десятки незнакомых доменов, а вы их не добавляли, это повод проверить устройство: подобные изменения иногда вносят вредоносные приложения, получившие root-доступ, либо ранее установленные блокировщики рекламы.
Как отредактировать hosts с root-правами
Полноценное редактирование возможно только при наличии root-доступа, поскольку раздел /system смонтирован в режиме чтения. Общий порядок действий выглядит так: получить root, перемонтировать системный раздел на запись, внести изменения и вернуть безопасный режим. Конкретные шаги различаются в зависимости от способа рутирования и версии Android, поэтому сверяйтесь с инструкцией для вашей модели.
Через терминал процедура обычно выглядит следующим образом:
su
mount -o rw,remount /system
echo "127.0.0.1 unwanted-site.com" >> /system/etc/hosts
mount -o ro,remount /system
Альтернатива — файловые менеджеры с поддержкой root (например, MiXplorer, Root Explorer) или специализированные редакторы hosts из магазинов приложений. Они выполняют те же операции, но через графический интерфейс, что снижает риск опечатки в командах.
☑️ Безопасное редактирование hosts
⚠️ Внимание: не удаляйте и не изменяйте строку 127.0.0.1 localhost — она нужна системе и ряду приложений для корректной работы. Её повреждение может вызвать сбои сетевых функций и отдельных программ.
После правки изменения обычно применяются сразу, но иногда помогает очистка кэша DNS конкретного браузера или перезагрузка устройства. Если сайт продолжает открываться по-старому, проверьте, не закэшировал ли его приложение.
Редактирование hosts без root: что реально работает
Без root-прав изменить сам файл /system/etc/hosts нельзя — это ограничение на уровне прав файловой системы, и обойти его штатными средствами не получится. Однако существует рабочая альтернатива: приложения, создающие локальный VPN-интерфейс и фильтрующие домены по собственному списку, аналогичному hosts.
Такие инструменты перехватывают DNS-запросы внутри устройства и блокируют или перенаправляют заданные домены, не трогая системный раздел. Известные примеры этого подхода — AdAway в режиме без root, DNS66, Blokada и подобные. Они поддерживают импорт готовых hosts-списков для блокировки рекламы и трекеров.
У метода есть ограничения. Локальный VPN занимает слот VPN-подключения, поэтому одновременно использовать его с настоящим VPN-сервисом не выйдет. Кроме того, фильтрация работает на уровне доменов и не может блокировать отдельные URL внутри сайта.
Сравнение способов изменения hosts
Каждый подход имеет свои ограничения по правам, рискам и гибкости. Сводная таблица поможет выбрать подходящий вариант под вашу задачу.
| Способ | Нужен root | Гибкость | Основные риски |
|---|---|---|---|
| Ручная правка /system/etc/hosts | Да | Полная: любые записи | Повреждение системного раздела, потеря гарантии |
| Root-редакторы hosts | Да | Высокая, с удобным интерфейсом | Те же риски root, зависимость от приложения |
| Приложения с локальным VPN | Нет | Блокировка доменов по спискам | Конфликт с настоящим VPN, расход батареи |
| Private DNS (частный DNS) | Нет | Только фильтрация через сторонний DNS | Зависимость от стороннего сервиса, нет ручных записей |
Как видно, только root даёт настоящий контроль над файлом hosts. Остальные методы — компромиссы, которые закрывают типовые задачи вроде блокировки рекламы, но не позволяют, к примеру, направить домен на произвольный IP для отладки.
Типичные ошибки и проблемы при работе с hosts
Чаще всего пользователи сталкиваются с ситуацией, когда запись добавлена, а сайт всё равно открывается. Причин несколько: опечатка в домене, отсутствие варианта с www, кэш DNS в браузере или приложении, а также то, что часть приложений использует собственные DNS-резолверы и игнорирует системный hosts. Проверьте каждый пункт по очереди.
Вторая распространённая проблема — файл сбрасывается после перезагрузки. Такое происходит, если изменения вносились без перемонтирования раздела на запись либо если устройство использует механизмы защиты системного раздела, восстанавливающие его содержимое. В подобных случаях правки лучше вносить через модуль для используемого решения root-доступа, если оно это поддерживает.
Почему некоторые приложения игнорируют hosts
Часть программ — например, браузеры с функцией DNS-over-HTTPS или мессенджеры с собственным сетевым стеком — отправляют DNS-запросы напрямую к своим серверам, минуя системный резолвер. Для таких приложений записи в hosts не действуют. Проверить это просто: если сайт заблокирован в hosts и не открывается в одном браузере, но работает в другом с включённым защищённым DNS — причина именно в обходе системного резолвера.
⚠️ Внимание: добавление большого числа записей (десятки тысяч строк из публичных блок-листов) напрямую в системный hosts может замедлить разрешение доменов и увеличить потребление памяти. Для массовой блокировки рекламы практичнее использовать приложения, оптимизированные под большие списки.
Если после правок пропал интернет полностью — вероятнее всего, случайно повреждена служебная строка или нарушен формат файла. Восстановите резервную копию или верните исходное содержимое:
127.0.0.1 localhost
::1 ip6-localhost
Как проверить, что hosts работает
Самый быстрый способ — добавить тестовую запись и открыть домен в браузере. Например, направьте любой несуществующий для вас домен на 127.0.0.1: если вместо сайта появляется ошибка подключения, файл обрабатывается корректно. После проверки тестовую строку удалите.
Более точная диагностика доступна через терминал. Команда ping покажет, на какой адрес система резолвит домен:
ping -c 3 example.com
Если в ответе фигурирует адрес из вашей записи hosts — значит, правка применилась. Когда же возвращается реальный IP сайта, ищите причину среди описанных выше: кэш, опечатка, обход системного резолвера приложением.
Часто задаваемые вопросы
Можно ли редактировать hosts на Android без root?
Непосредственно файл /system/etc/hosts — нет: системный раздел защищён от записи. Без root доступны альтернативы: приложения с локальным VPN-интерфейсом (AdAway в режиме без root, Blokada и подобные) или настройка частного DNS в параметрах сети.
Где именно лежит файл hosts на Android?
По адресу /system/etc/hosts. Просмотреть его содержимое можно без root — через терминал командой cat /system/etc/hosts или файловый менеджер с доступом к системным каталогам.
Почему после правки hosts сайт всё равно открывается?
Типичные причины: опечатка в домене, отсутствие записи для варианта с www, кэш DNS браузера или то, что приложение использует собственный DNS-резолвер (например, DNS-over-HTTPS) и обходит системный hosts. Проверьте каждый пункт и очистите кэш браузера.
Опасно ли редактировать файл hosts?
Сама правка обратима, если сохранить резервную копию. Риск связан с root-доступом и перемонтированием системного раздела: ошибочные действия могут нарушить работу системы. Не удаляйте строку с localhost и добавляйте записи по одной с проверкой результата.
Сбрасывается ли hosts после перезагрузки или обновления системы?
При корректном сохранении на разделе с правами записи файл переживает перезагрузку. Однако обновление системы, а также защитные механизмы некоторых прошивок могут восстановить исходное содержимое раздела. Держите резервную копию своих записей отдельно, чтобы быстро восстановить их.