Android термінал не в змозі здійснити пошук?


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 , і він все ще не вирішиться.

чи я можу щось зробити, щоб вирішити це, чи це обмеження для союзника?


У мене немає жодних проблем робити NSlookup у цьому домені чи будь-якому домені з цього приводу.
Райан Конрад

Яка настройка вашої мережі? У вас заблоковані або переслані порти?
Матвій

У мене те саме питання.
Макс Рід

Відповіді:


4

Це відома проблема дизайну при використанні статично пов'язаних libresolv та glibc.

У вас є 2 варіанти:

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

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


Отже, ви хочете, щоб я захопив гібсона? що?
JKirchartz

1

Перевірте, чи правильно встановлено середовище емулятора термінала, запустивши його, 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

getprop існує і повертає IPv6 адресу для DNS-серверів, незважаючи на те, що DHCP-сервер роздає IPv4-адресу для них. Але setprop не існує.
Майкл

1

введіть свій термінал, а потім введіть "su" і натисніть клавішу Enter (примітка працює лише в тому випадку, якщо у вас є вкорінений телефон)

$ su
#

потім введіть наступне (замініть xxxx своїми dns серверами 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

Це має вирішити зараз.


Зауважте, що ймовірно, що resolv.confзаміна буде замінена при кожній зміні підключення системою.
Потік

насправді у мене ніколи не було цього на будь-якому пристрої Android ... Це просто не змінюється (я знаю це, тому що у мене є приватний dns-сервер (локальний), який жорстко кодується в резоль.conf, і я мушу насправді встановити його вручну інші мережі (використовуючи розширений діалог))
Mikah

1

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

Якщо ви вкорінені, ви можете встановити останню версію зайнятого ящика (можливо, ви зможете його скласти). Потім з’ясуйте, де ви оновили зайняту скриньку і запустіть такі команди: (я припускаю, що нова версія є, /system/binа стара версія є ~/system/bin)

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

Тепер домени будуть вирішені належним чином.

Зверніть увагу: через те, як працює зайнятий ящик, ви повинні мати root, щоб мати можливість користуватися ping(хоча такі речі, як wgetі nslookupповинні мати можливість вирішувати хости зараз). Над цим питанням працюють розробники зайнятих ящиків.

Я особисто використовував цей додаток, щоб встановити останню версію: https://play.google.com/store/apps/details?id=stericson.busybox


0

Яку мережу ви використовуєте? Якщо це Wifi, чи можуть інші машини у вашій мережі зв’язатися з ним? Якщо це план даних про оператора ... це блокується?

Оновлення: 0.0.0.0 мені здається блоком файлів хостів. Будь-які блокатори оголошень? Адблок плюс? Змінення файлів хостів?

Спробуйте USB-мережу - якщо ви опублікуєте коментар тут із проханням про це, я оновлю питання та поставлю підручник (це стосується, і я знаю лише, як це зробити на машинах GNU / Linux)


Він не працює на 3g (verizon) або WiFi, той же 0.0.0.0 не може вирішити.
JKirchartz

0.0.0.0 мені здається блоком файлів хостів. Будь-які блокатори оголошень? (Оновлення відповіді.)
Брам

У мене був такий, але він насправді не спрацьовував ... /system/etc/hostsмає кучу URL-адрес, які шукають спам, вказували127.0.0.1
JKirchartz

0

Я використовую це в android від adb. Можливо, є кращі способи.

ip=$(ping -c 1 -W 1 example.com|grep PING|cut -d "(" -f 2|cut -d ")" -f 1)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.