У меня на компьютере работает веб-сайт, и я хочу протестировать его на своем планшете Nexus 7. Т.е. по локальной сети WiFi. Если я ввожу IP-адрес, он подключается, но показывает неправильный веб-сайт, потому что я использую названный виртуальный хостинг.
Итак, я хочу набрать mysite.local
Chrome / Firefox на Nexus, сделать так, чтобы они преобразовали его в 10.1.2.3
(или любой другой локальный IP-адрес), а затем вызвать 10.1.2.3
сервер, предоставив mysite.local
запрос хоста.
Мой вопрос: есть ли на планшете Android 4.x /etc/hosts
файлы или аналогичные файлы, которые я могу редактировать? (Без рутирования планшета или чего-то в этом роде.)
На моих компьютерах с Linux я делаю это, добавляя запись в /etc/hosts
:
10.1.2.3 mysite.local
(Или Windows\System32\drivers\etc\hosts
на машине Windows делает то же самое.)
Кстати, это полудубликат установки вручную имени хоста для IP-адреса (т. Е. / Etc / hosts эквивалент.?) , Но этот вопрос был для Android 2.2, где, по-видимому, это было невозможно. (Одна из альтернативных идей предполагала настройку DNS на локальном маршрутизаторе, но, насколько я могу судить, мой маршрутизатор не выполняет DNS локально, поэтому не имеет этой опции. Я мог бы настроить собственный DNS-сервер для этого, но это похоже на решение большой работы.)
источник
/etc/hosts
, а настраивал ваш «сервер имен» (например, DNSMasq, или что вы используете). Ваш роутер может дать вам место для этого./etc/hosts
В противном случае его нужно редактировать на каждом компьютере - и соответствующий файл на Android можно редактировать только с «полномочиями root» (я не знаю его точное расположение вне моей головы, но это где-то внутри/data/system
AFAIR). Смотрите: Как редактировать файл etc / hostsОтветы:
Вы не можете просто отредактировать файл hosts на Android, так как он находится в файловой системе только для чтения:,
/system/etc/hosts
см .:Альтернативы:
источник
Как упомянуто lzzy, вы можете использовать сервер DNSMasq для достижения этой цели. Но Chrome использует собственный процесс разрешения DNS, и этот метод может не работать.
Для запуска сервера используйте следующую команду:
sudo
требуется связать на порту 53-d
запустить сервер на переднем плане--no-hosts
не использовать локальный файл hosts--conf-file=/dev/null
не используйте конфигурационный файл--server=8.8.8.8 --server=8.8.4.4
адреса вышестоящих серверов (Google DNS в этом примере)--address=/example.com/192.168.0.101
хосты для переопределения. Вы должны добавить своих хостов в этой строке. Вы также можете добавить несколько хостов там.Затем измените DNS-сервер на устройстве. Это легко сделать с помощью приложения DNS Changer .
После этих шагов запросы к этим хостам должны отправляться на ваши адреса.
источник
Простейшим способом определения сопоставления хоста с IP является
hosts
файл, так как в основном DNS-распознаватели соблюдают этот файл . Но, как упоминалось в других ответах, редактирование невозможно/etc/hosts
без рутирования устройства Android. Доступ к веб-серверу с IP-адресом также не будет работать из-за виртуального хостинга. Вот несколько опций, которые вы можете использовать на рутированном устройстве:hosts
файл, прежде чем отправлять запросы на настроенный вышестоящий DNS-сервер.dnsmasq
, добавьтеaddress=/mysite.local/10.1.2.3
в «dnsmasq.conf» . Илиdnscrypt-proxy
добавитьmysite.local 10.1.2.3
в «cloaking-rules.txt» .10.1.2.3 mysite.local
вhosts
файл на прокси-сервере или запустите локальный DNS-сервер на VPN-сервере.hosts
файл из пользовательского рекавери.Подробнее см .: Как всегда разрешать доменное имя в фиксированный IP без рута?
СВЯЗАННЫЕ С:
источник