Содержание статьи

Файл hosts на Android – системный конфигурационный файл, отвечающий за сопоставление доменных имен с IP-адресами до обращения к DNS-серверам. Его редактирование позволяет блокировать доступ к сайтам, перенаправлять трафик или тестировать локальные серверы без изменения сетевых настроек. На большинстве устройств этот файл расположен по пути /system/etc/hosts, но для его изменения требуются root-права или специальные инструменты.
Без root-доступа стандартные методы редактирования недоступны, однако существуют обходные пути: использование приложений с поддержкой VPN (например, DNS66 или AdAway), которые эмулируют изменения hosts через локальный прокси. Для устройств с разблокированным загрузчиком или кастомным рекавери (TWRP) возможна прямая правка файла через файловый менеджер с root-доступом, например Root Explorer или Solid Explorer.
Перед началом работы создайте резервную копию оригинального файла. Ошибки в синтаксисе (лишние пробелы, неверные IP-адреса) могут привести к неработоспособности сети или отдельных приложений. Формат записи: [IP-адрес] [домен], например, 127.0.0.1 example.com. После сохранения изменений очистите кэш DNS командой adb shell ndc resolver clearnetdns или перезагрузите устройство.
Как проверить наличие root-прав на устройстве перед редактированием

Редактирование файла hosts на Android требует root-доступа, так как системный раздел по умолчанию защищён от изменений. Без прав суперпользователя попытки модификации приведут к ошибкам доступа или игнорированию изменений. Проверка root-статуса – первый шаг, позволяющий избежать бесполезных действий и выбрать правильный метод работы.
Самый надёжный способ – использование специализированных приложений, которые анализируют наличие бинарного файла su и его расположение в системных директориях. Примеры таких инструментов:
- Root Checker (от joeykrim) – проверяет не только наличие
su, но и корректность его работы через выполнение тестовых команд. - Magisk Manager – если устройство рутировано через Magisk, приложение отобразит статус root и версию установленного модуля.
- Terminal Emulator – ручной ввод команды
suс последующим запросом прав подтвердит доступ, если появится приглашение#вместо$.
Если su отсутствует или не работает, приложения выдадут ошибку «Root access not granted» или аналогичную. В этом случае потребуется рутирование устройства через инструменты вроде Magisk, SuperSU или кастомные рекавери (TWRP). Обратите внимание: неправильное рутирование может привести к потере данных или блокировке загрузчика.
Для проверки через терминал выполните следующие шаги:
- Установите Termux или любой другой эмулятор терминала из Google Play.
- Введите команду:
which su. Если путь к бинарнику отобразится (например,/system/bin/suили/sbin/su), root-права присутствуют. - Попробуйте повысить привилегии:
su. При успешном выполнении приглашение командной строки изменится на#.
Некоторые производители (например, Samsung, Xiaomi) блокируют root-доступ на уровне загрузчика или используют механизмы защиты вроде Samsung Knox или Xiaomi Anti-Rollback. В таких случаях даже после рутирования приложения могут не получать полный доступ к системным файлам. Проверьте совместимость вашей модели с инструментами рутирования на форумах XDA Developers.
Если root-права подтверждены, но редактирование hosts всё равно не работает, возможны следующие причины:
- Файл защищён от записи даже для root (например, в режиме
read-only). Исправляется монтированием раздела в режиме записи:mount -o rw,remount /system. - Используется система с SELinux в режиме
enforcing. Временно отключите её командой:setenforce 0. - Файл
hostsотсутствует в стандартном расположении (/system/etc/hosts) или перемещён в другое место (например, в/data/adb/modules/hostsпри использовании Magisk).
После проверки root-прав и устранения возможных ограничений приступайте к редактированию hosts с помощью файловых менеджеров с root-доступом (например, FX File Explorer, Solid Explorer) или через терминал командой nano /system/etc/hosts. Не забывайте делать резервную копию оригинального файла перед изменениями.
Выбор и установка файлового менеджера с правами суперпользователя
Для редактирования файла hosts на Android требуется доступ к системным каталогам, что невозможно без прав суперпользователя (root). Стандартные файловые менеджеры, такие как «Файлы Google» или «FX File Explorer», не предоставляют такой функционал. Необходим специализированный инструмент, совместимый с root-доступом и поддерживающий работу с системными файлами без ограничений.
Основные критерии выбора файлового менеджера для root-пользователей:
- Поддержка root-прав: приложение должно корректно запрашивать и использовать root-доступ через
suили аналогичные механизмы. - Редактирование системных файлов: возможность открывать, изменять и сохранять файлы в каталогах
/system,/dataи других защищённых директориях. - Встроенный текстовый редактор: поддержка базового редактирования (поиск, замена, сохранение) без необходимости установки дополнительных приложений.
- Совместимость с Android 10+: работа на современных версиях ОС, включая особенности системы безопасности (например,
SELinux). - Активная поддержка: регулярные обновления для исправления ошибок и адаптации под новые версии Android.
Наиболее надёжные файловые менеджеры с root-доступом:
-
Solid Explorer (платный, с пробным периодом)
- Поддерживает root-доступ через встроенный плагин.
- Интегрированный текстовый редактор с подсветкой синтаксиса.
- Работает на Android 5.0–14 без критических ошибок.
- Позволяет монтировать разделы в режиме чтения/записи.
-
Root Browser (бесплатный, с рекламой)
- Специализирован для root-пользователей, минималистичный интерфейс.
- Поддерживает редактирование файлов
hostsнапрямую из/system/etc/. - Встроенный бинарный просмотрщик и hex-редактор.
- Последний релиз – 2022 год, возможны проблемы на Android 13+.
-
MiXplorer (бесплатный, без рекламы)
- Поддержка root через сторонний плагин
MiXplorer Silver. - Расширенные функции: архивация, FTP/SMB, тегирование файлов.
- Активная разработка, частые обновления (последнее – 2024 год).
- Требует ручной настройки прав доступа после установки.
- Поддержка root через сторонний плагин
Установка файлового менеджера с root-доступом начинается с проверки наличия прав суперпользователя. Убедитесь, что на устройстве установлен Magisk или другой root-менеджер, и приложение Superuser функционирует корректно. Без этого шага даже специализированные файловые менеджеры не смогут получить доступ к системным файлам.
Процесс установки на примере Solid Explorer:
- Скачайте APK-файл с официального сайта (neatbytes.com) или через
F-Droid. - Установите приложение, разрешив установку из неизвестных источников в настройках безопасности.
- Запустите Solid Explorer и перейдите в настройки (
☰ → Настройки → Root). - Активируйте опцию
"Включить root-доступ"и подтвердите запрос отMagiskилиSuperSU. - Перезапустите приложение. При первом доступе к системным каталогам (например,
/system) менеджер запросит монтирование раздела в режиме записи – подтвердите действие.
Для MiXplorer потребуется дополнительный шаг: установка плагина MiXplorer Silver из репозитория разработчика (XDA Developers). После установки основного приложения и плагина:
- Откройте MiXplorer и перейдите в
Настройки → Дополнительно → Root. - Включите
"Root Explorer"и выберите"Superuser"в качестве источника прав. - При первом доступе к
/systemприложение запросит монтирование раздела – выберите"R/W"(чтение/запись).
Типичные ошибки при работе с root-файловыми менеджерами и их решения:
- Ошибка «Permission denied»: проверьте, что root-доступ включён в настройках приложения и
Magiskне блокирует запросы. ВMagisk Managerдобавьте приложение в список разрешенных. - Файл
hostsне сохраняется: убедитесь, что раздел/systemсмонтирован в режиме записи. В Solid Explorer используйте кнопку"Монтировать R/W"в верхней панели. - Приложение вылетает при доступе к системным файлам: обновите файловый менеджер до последней версии или попробуйте альтернативу (например,
Root BrowserвместоMiXplorer). - SELinux блокирует доступ: временно переключите SELinux в permissive-режим через команду
setenforce 0в терминале (требует root). После редактирования верните режимenforcingкомандойsetenforce 1.
После установки и настройки файлового менеджера проверьте его работоспособность, открыв файл /system/etc/hosts. Если файл отображается и доступен для редактирования, инструмент готов к использованию. В противном случае переустановите приложение или выберите альтернативный менеджер из списка выше. Избегайте редактирования системных файлов без резервной копии – создайте бэкап hosts перед любыми изменениями.
Поиск и открытие файла hosts в системном каталоге Android
Файл hosts на Android расположен в защищённом системном каталоге /system/etc/. Для доступа к нему требуются root-права или использование специальных инструментов, так как стандартные файловые менеджеры не отображают этот путь без дополнительных настроек. Без root-доступа редактирование возможно только через ADB (Android Debug Bridge) или сторонние приложения с расширенными разрешениями.
Чтобы найти файл через ADB, подключите устройство к компьютеру и выполните команду:
adb shell ls /system/etc/hosts
Если файл существует, команда вернёт его путь. Для копирования на компьютер используйте:
adb pull /system/etc/hosts
Это позволит редактировать его локально, а затем вернуть обратно командой:
adb push hosts /system/etc/
При наличии root-прав файл можно открыть напрямую через файловый менеджер с поддержкой корневого доступа, например Root Explorer или Solid Explorer. В последнем необходимо включить режим «Root» в настройках и перейти по пути /system/etc/. Файл hosts будет доступен для редактирования после монтирования раздела /system в режим записи.
Если устройство не рутировано, альтернативой служит использование эмуляторов терминала, таких как Termux. Установите пакет tsu для временного получения root-прав (если они есть) и выполните:
tsu cat /system/etc/hosts
Для редактирования потребуется текстовый редактор, например nano, который можно установить командой:
pkg install nano
В некоторых прошивках (например, LineageOS) файл hosts может находиться в другом месте, например /data/adb/modules/hosts/ при использовании Magisk. Проверьте наличие файла в этих каталогах, если стандартный путь не работает. Для проверки используйте команду:
find / -name hosts 2>/dev/null
Она выведет все найденные файлы с таким именем.
| Метод | Требования | Сложность | Риск повреждения системы |
|---|---|---|---|
| ADB | Отладка по USB, компьютер | Средняя | Низкий |
| Root + файловый менеджер | Root-права | Низкая | Высокий |
| Termux + tsu | Root-права, Termux | Высокая | Средний |
| Magisk-модули | Magisk, root | Низкая | Низкий |
При редактировании файла через ADB или файловый менеджер убедитесь, что раздел /system смонтирован в режиме записи. Для этого выполните команду:
mount -o rw,remount /system
После внесения изменений верните раздел в режим «только чтение»:
mount -o ro,remount /system
Игнорирование этого шага может привести к повреждению системных файлов.
На устройствах с Android 10 и новее доступ к /system может быть ограничен даже при наличии root-прав из-за механизма Dynamic Partitions. В таких случаях используйте Magisk-модули, например systemless-hosts, который создаёт символическую ссылку на файл в /data/adb/. Это позволяет обойти ограничения и сохранить изменения после перезагрузки.
Если файл hosts отсутствует в /system/etc/, его можно создать вручную. Для этого скопируйте содержимое стандартного файла (например, с другого устройства) или создайте пустой файл с правами 644:
touch /system/etc/hosts chmod 644 /system/etc/hosts
Убедитесь, что файл имеет кодировку UTF-8 без BOM, иначе возможны ошибки при обработке.
Создание резервной копии оригинального файла hosts
При работе через файловый менеджер с root-доступом (например, Solid Explorer или FX File Manager) скопируйте файл hosts в ту же папку, переименовав его вручную. Избегайте хранения резервной копии в /sdcard/ или других пользовательских директориях – при сбросе настроек или перепрошивке она будет удалена. Для дополнительной безопасности экспортируйте копию на облачное хранилище или внешний носитель.
Проверьте целостность резервной копии перед редактированием оригинала: сравните контрольные суммы командой md5sum /system/etc/hosts /system/etc/hosts.bak. Совпадение хешей гарантирует, что файл не поврежден. Восстановление из резервной копии выполняется командой cp /system/etc/hosts.bak /system/etc/hosts с последующей перезагрузкой устройства.
Добавление новых записей в файл hosts через текстовый редактор

Откройте файл /system/etc/hosts в текстовом редакторе с правами root (например, через Root Explorer или Solid Explorer). В конце файла добавьте новые строки в формате IP_адрес доменное_имя, где IP – целевой адрес (например, 127.0.0.1 для блокировки), а доменное имя – сайт без протокола (например, example.com). Сохраните изменения, убедившись, что файл остался в кодировке UTF-8 без BOM и с правами доступа 644 (проверьте через chmod в терминале).
Для проверки работоспособности используйте команду ping доменное_имя в Termux или ADB – ответ должен приходить с указанного IP. Если изменения не применяются, очистите кэш DNS через ndc resolver clearnetdns или перезагрузите устройство. Избегайте дублирования записей и синтаксических ошибок (лишние пробелы, комментарии без символа #), иначе файл будет проигнорирован системой.
Сохранение изменений и проверка прав доступа к файлу

После редактирования файла hosts сохраните его через текстовый редактор. В большинстве приложений (например, Solid Explorer или Root Browser) для этого достаточно нажать кнопку «Сохранить» или использовать комбинацию Ctrl+S. Если редактор не предлагает явного сохранения, проверьте настройки: некоторые программы автоматически применяют изменения при закрытии файла.
При использовании ADB для редактирования файла сохраните изменения в локальной копии, затем перезапишите оригинал командой: adb push hosts /system/etc/. Убедитесь, что устройство подключено в режиме root или с разблокированным загрузчиком, иначе операция завершится ошибкой Permission denied. Для проверки успешности выполните adb shell cat /system/etc/hosts – содержимое должно совпадать с вашими правками.
Если после сохранения файл возвращается к исходному состоянию, вероятно, работает механизм защиты системы. На устройствах с Magisk временно отключите модуль Systemless Hosts в разделе «Модули». На стоковых прошивках попробуйте перемонтировать раздел /system в режим записи: mount -o rw,remount /system. Без root-прав этот метод не сработает – потребуется альтернативный подход, например, использование DNS-сервера вместо редактирования hosts.
Проверьте целостность файла после сохранения. Откройте его повторно и убедитесь, что все внесенные записи (например, 127.0.0.1 example.com) отображаются без искажений. Ошибки форматирования (лишние пробелы, неверные символы) могут привести к игнорированию строк системой. Для диагностики используйте команду getprop net.dns1 – она должна возвращать стандартный DNS, а не локальные перенаправления.
На устройствах с SELinux в режиме Enforcing изменения в hosts могут блокироваться политиками безопасности. Проверьте текущий статус SELinux командой getenforce. Если результат – Enforcing, временно переключитесь в режим Permissive: setenforce 0. После тестирования верните исходное состояние: setenforce 1. На постоянной основе потребуется правка политик через Magisk или создание собственного правила SELinux.
После успешного сохранения перезагрузите устройство. Некоторые приложения (особенно браузеры и мессенджеры) кэшируют DNS-запросы и не сразу реагируют на изменения в hosts. Для принудительного сброса кэша выполните в терминале: ndc resolver flushdefaultif или перезапустите сетевой стек командой svc wifi disable && svc wifi enable. На Android 10+ используйте cmd network reset.
Если изменения не применяются даже после всех шагов, проверьте логи системы на наличие ошибок: logcat | grep hosts. Типичные проблемы – конфликтующие модули Magisk, неверные права на каталог /system/etc (должны быть 755) или поврежденный файл. В крайнем случае создайте резервную копию оригинального hosts, затем замените его полностью через TWRP Recovery или Fastboot.
Перезагрузка устройства для применения настроек

После редактирования файла hosts изменения вступят в силу только после перезагрузки Android-устройства. Это связано с особенностями кэширования DNS-запросов на уровне системы: без перезапуска ОС продолжает использовать старые записи из памяти. На некоторых прошивках (например, MIUI или EMUI) может потребоваться дополнительный сброс сетевых настроек через меню «Сброс Wi-Fi, мобильного интернета и Bluetooth».
Способ перезагрузки зависит от модели устройства и версии Android. На большинстве смартфонов достаточно удерживать кнопку питания 5–10 секунд до появления меню с вариантами «Перезагрузка» или «Выключение». Для устройств с Android 12 и новее иногда требуется выбрать «Перезагрузка» дважды, если включена функция защиты от случайных нажатий. На планшетах Samsung Galaxy Tab с One UI 5.0 и выше перезагрузка запускается через комбинацию кнопок питания + громкости вниз (удерживать 7 секунд).
Если устройство не реагирует на физические кнопки (например, из-за повреждения или программного сбоя), используйте ADB-команду: adb reboot. Для этого потребуется подключение к ПК с установленным Android SDK и включенной отладкой по USB. На устройствах с root-доступом можно применить команду через терминал: su -c 'reboot'. В обоих случаях изменения в hosts применятся без потери данных.
Время загрузки после перезагрузки варьируется от 20 до 90 секунд в зависимости от аппаратных характеристик. Например, устройства на чипсетах Snapdragon 8 Gen 2 (Samsung Galaxy S23, OnePlus 11) загружаются за 25–35 секунд, тогда как бюджетные модели с Helio G37 (Realme C55) могут потребовать до 1,5 минут. Если загрузка длится дольше 2 минут, вероятно, возник конфликт с другими системными файлами – в этом случае рекомендуется проверить целостность hosts через файловый менеджер с root-доступом.
После перезагрузки проверьте корректность изменений. Откройте браузер и перейдите на сайт, который был заблокирован или перенаправлен через hosts. Если страница не загружается или отображается ошибка DNS, выполните следующие действия:
| Проблема | Решение |
|---|---|
| Сайт не блокируется | Проверьте синтаксис записи в hosts (формат: IP_адрес домен). Убедитесь, что нет лишних пробелов или символов. |
| Ошибка DNS_PROBE_FINISHED_NXDOMAIN | Очистите кэш DNS через настройки сети: «Настройки» → «Приложения» → «Службы Google Play» → «Хранилище» → «Очистить кэш». |
| Изменения не сохраняются после перезагрузки | Проверьте права доступа к файлу: chmod 644 /system/etc/hosts (требуется root). На некоторых прошивках (например, ColorOS) файл может быть защищен от изменений. |
На устройствах с Magisk изменения в hosts могут сбрасываться после обновления модулей или самой системы. Чтобы избежать этого, используйте модуль «Hosts Editor» из репозитория Magisk или создайте резервную копию файла в /data/adb/modules/hosts_custom/. После обновления системы восстановите файл вручную или переустановите модуль.
Если после перезагрузки устройство зависло на логотипе производителя (bootloop), причиной может быть некорректная запись в hosts. Для исправления загрузитесь в recovery-режиме (комбинация кнопок зависит от модели) и удалите или исправьте файл через ADB: adb shell mount /system, затем adb shell rm /system/etc/hosts. На устройствах с TWRP можно использовать встроенный файловый менеджер.
