Каждый раз, когда я пытаюсь подключиться к домену на моем LG Ally, происходит сбой, но он работает, если я использую IP-адрес. Поэтому я попытался использовать, nslookup telehack.com
и он возвращает:
Server: 0.0.0.0
Address 1: 0.0.0.0
nslookup: can't resolve 'telehack.com'
У меня установлен эмулятор терминала Android и BusyBox ,
Он не работал с dns по умолчанию, так что теперь у меня есть записи dns, установленные на OpenDNS , и он по-прежнему не разрешается.
Есть ли что-то, что я могу сделать, чтобы решить эту проблему, или это ограничение для Союзника?
Ответы:
Это известная проблема разработки при использовании статически связанных libresolv и glibc.
У вас есть 2 варианта:
Используйте родную библиотеку libc Bionic от Google Android вместо glibc.
Создайте busybox для поиска в библиотеках
/system/lib
(или сделайте необходимые ссылки, например/usr/lib -> /system/lib
). Поместите в свой файл ld-linux.so.3, libc.so.6, libresolv.so.2, libnss_dns.so.2/system/lib
.источник
Убедитесь, что в среде эмулятора терминала DNS настроен правильно, запустив его
getprop net.dns1
и при необходимости установите его с помощьюsetprop net.dns1 [yourdns]
. Команды могут отличаться в зависимости от устройства, использованияnet.eth0.dns1
илиnet.gprs.dns1
запускаgetprop
без параметров, чтобы увидеть все установленные свойства для подсказок.источник
nslookup
теперь дают правильный адрес сервера или же он до сих пор показывает0.0.0.0
?войдите в свой терминал, затем введите 'su' и нажмите ввод (примечание работает, только если у вас есть рутированный телефон)
затем введите следующее (замените хххх на ваши днс серверы ip)
Теперь проверьте, правильно ли это работает
Это должно разрешить сейчас.
источник
resolv.conf
будет перезаписываться при каждом изменении подключения.Я скопировал (и немного изменил) свой ответ из комментария, который я разместил по проблеме на кодовой странице Google для Terminal IDE, однако он должен быть таким же:
Если у вас есть права root, вы можете установить последнюю версию busybox (возможно, вы сможете скомпилировать ее). Затем выясните, где вы обновили busybox, и выполните следующие команды: (я предполагаю, что новая версия находится,
/system/bin
а старая версия находится~/system/bin
)Теперь домены будут разрешены правильно.
Обратите внимание: из-за того, как работает busybox, вы должны быть пользователем root, чтобы иметь возможность использовать его
ping
(хотя такие вещи, какwget
иnslookup
должны быть в состоянии разрешить хосты правильно сейчас). Разработчики busybox работают над этой проблемой.Я лично использовал это приложение для установки последней версии: https://play.google.com/store/apps/details?id=stericson.busybox
источник
Какую сеть вы используете? Если это Wifi, могут ли другие машины в вашей сети связаться с ним? Если это тарифный план оператора связи ... он заблокирован?
Обновление: 0.0.0.0 мне кажется блокировкой файла hosts. Есть ли блокираторы рекламы? Adblock Plus? Хозяева файла модификации?
Попробуйте подключиться к сети USB - если вы оставите здесь комментарий с просьбой об этом, я обновлю вопрос и добавлю учебник (он включен, и я знаю, как это сделать только на машинах GNU / Linux)
источник
/system/etc/hosts
него указывает куча URL-адресов со127.0.0.1
Я использую это в Android от ADB. Может быть, есть лучшие способы.
источник