Android-терминал не может nslookup?

14

Каждый раз, когда я пытаюсь подключиться к домену на моем 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 , и он по-прежнему не разрешается.

Есть ли что-то, что я могу сделать, чтобы решить эту проблему, или это ограничение для Союзника?

JKirchartz
источник
У меня нет проблем с NSlookup для этого домена или любого домена по этому вопросу.
Райан Конрад
Как настроена ваша сеть? Порты заблокированы или переадресованы?
Мэтью Прочитал
У меня та же проблема.
Макс Райд

Ответы:

4

Это известная проблема разработки при использовании статически связанных libresolv и glibc.

У вас есть 2 варианта:

  1. Используйте родную библиотеку libc Bionic от Google Android вместо glibc.

  2. Создайте busybox для поиска в библиотеках /system/lib(или сделайте необходимые ссылки, например /usr/lib -> /system/lib). Поместите в свой файл ld-linux.so.3, libc.so.6, libresolv.so.2, libnss_dns.so.2 /system/lib.

Константин Крастев
источник
Итак, вы хотите, чтобы я повесил гибсона? что?
JKirchartz
1

Убедитесь, что в среде эмулятора терминала DNS настроен правильно, запустив его getprop net.dns1и при необходимости установите его с помощью setprop net.dns1 [yourdns]. Команды могут отличаться в зависимости от устройства, использования net.eth0.dns1или net.gprs.dns1запуска getpropбез параметров, чтобы увидеть все установленные свойства для подсказок.

Оник
источник
DNS установлен, я изменил его по умолчанию на openDNS, и он все еще не работает ...
JKirchartz
это nslookupтеперь дают правильный адрес сервера или же он до сих пор показывает 0.0.0.0?
onik
все еще показывает 0.0.0.0
JKirchartz
getprop существует и возвращает IPv6-адрес для DNS-серверов, несмотря на тот факт, что DHCP-сервер передает для них IPv4-адрес. Но setprop не существует.
Майкл
1

войдите в свой терминал, затем введите 'su' и нажмите ввод (примечание работает, только если у вас есть рутированный телефон)

$ su
#

затем введите следующее (замените хххх на ваши днс серверы ip)

# echo 'nameserver x.x.x.x' > /system/etc/resolv.conf
# echo 'nameserver x.x.x.x' >> /system/etc/resolv.conf
# exit

Теперь проверьте, правильно ли это работает

$ nslookup google.com

Это должно разрешить сейчас.

Mikah
источник
Обратите внимание, что, вероятно, система resolv.confбудет перезаписываться при каждом изменении подключения.
Поток
на самом деле, у меня НИКОГДА не было такого на любом устройстве Android ... Это просто не меняется (я знаю это, потому что мой частный DNS-сервер (локальный) жестко запрограммирован в resolv.conf, и мне нужно вручную установить его для другие сети (используя расширенный диалог))
Мика,
1

Я скопировал (и немного изменил) свой ответ из комментария, который я разместил по проблеме на кодовой странице Google для Terminal IDE, однако он должен быть таким же:

Если у вас есть права root, вы можете установить последнюю версию busybox (возможно, вы сможете скомпилировать ее). Затем выясните, где вы обновили busybox, и выполните следующие команды: (я предполагаю, что новая версия находится, /system/binа старая версия находится ~/system/bin)

PATH=/system/bin:$PATH
cd ~/system/bin
mv busybox busybox.old
ln -s /system/bin/busybox busybox

Теперь домены будут разрешены правильно.

Обратите внимание: из-за того, как работает busybox, вы должны быть пользователем root, чтобы иметь возможность использовать его ping(хотя такие вещи, как wgetи nslookupдолжны быть в состоянии разрешить хосты правильно сейчас). Разработчики busybox работают над этой проблемой.

Я лично использовал это приложение для установки последней версии: https://play.google.com/store/apps/details?id=stericson.busybox

Хош Садик
источник
0

Какую сеть вы используете? Если это Wifi, могут ли другие машины в вашей сети связаться с ним? Если это тарифный план оператора связи ... он заблокирован?

Обновление: 0.0.0.0 мне кажется блокировкой файла hosts. Есть ли блокираторы рекламы? Adblock Plus? Хозяева файла модификации?

Попробуйте подключиться к сети USB - если вы оставите здесь комментарий с просьбой об этом, я обновлю вопрос и добавлю учебник (он включен, и я знаю, как это сделать только на машинах GNU / Linux)

Broam
источник
Он не работает на 3g (verizon) или на WiFi, тот же 0.0.0.0 не может разрешить.
JKirchartz
0.0.0.0 кажется блоком файла hosts для меня. Есть ли блокираторы рекламы? (Обновление ответа.)
Broam
Раньше у меня был один, но он действительно не работал ... на /system/etc/hostsнего указывает куча URL-адресов со 127.0.0.1
спамом
0

Я использую это в Android от ADB. Может быть, есть лучшие способы.

ip=$(ping -c 1 -W 1 example.com|grep PING|cut -d "(" -f 2|cut -d ")" -f 1)
Zibri
источник