Android终端无法nslookup?


14

每次我尝试通过telnet到LG Ally上的域时,它都会失败,但是如果使用IP地址,它将可以正常工作。所以我尝试使用nslookup telehack.com它并返回:

Server:       0.0.0.0
Address 1:    0.0.0.0

nslookup: can't resolve 'telehack.com'

我安装了Android Terminal EmulatorBusyBox

它无法使用默认的dns,因此现在我已将dns条目设置为OpenDNS,但仍然无法解析。

有什么我可以解决的方法,还是对盟友的限制?


在该域或任何域上执行NSlookup都没有问题。
Ryan Conrad

您的网络设置如何?您是否已阻止或转发端口?
马修(Matthew)

我有同样的问题。
Max Ried

Answers:


4

当使用静态链接的libresolv和glibc时,这是一个已知的设计问题。

您有2个选项:

  1. 使用Google Android的本地libc Bionic库代替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.dns1getprop如果不带参数运行,则会看到所有设置的提示属性。


设置了dns,我将其从默认设置更改为openDNS,但仍然无法使用...
JKirchartz 2011年

确实nslookup现在给出正确的服务器地址,或者它仍然显示0.0.0.0
onik 2011年

仍显示0.0.0.0
JKirchartz 2011年

尽管DHCP服务器正在为它们分发IPv4地址,但getprop存在并返回DNS服务器的IPv6地址。但是setprop不存在。
迈克尔

1

输入您的终端,然后键入'su'并按Enter键(注意仅在拥有根电话的情况下有效)

$ su
#

然后输入以下内容(用您的dns服务器ip替换xxxx)

# 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服务器(本地)硬编码到了resolv.conf中,我必须手动将其设置为其他网络(使用高级对话框)
Mikah 2013年

1

我已经从我在Terminal IDE的Google代码页上的某个问题上发布的评论中复制(并稍作更改)了我的答案,但是,它应该是相同的:

如果您是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应能够解决主机正常了)。繁忙的开发人员正在研究此问题。

我个人使用此应用程序来安装最新版本:https : //play.google.com/store/apps/details?id=stericson.busybox


0

您正在使用哪个网络?如果是Wifi,网络上的其他计算机可以联系它吗?如果是运营商数据计划...是否被阻止?

更新:0.0.0.0似乎对我来说是一个主机文件块。有广告拦截器吗?Adblock plus?主机文件修改?

尝试USB联网-如果您在此处发表评论以寻求帮助,我将更新问题并放入教程中(涉及其中,我只知道如何在GNU / Linux机器上进行操作)


它无法在3g(verizon)或WiFi上运行,相同的0.0.0.0无法解析。
JKirchartz 2011年

0.0.0.0对我来说似乎是一个主机文件块。有广告拦截器吗?(更新答案。)
Broam

我曾经有一个,但是它并没有真正起作用。。。/system/etc/hosts有一堆指向垃圾邮件的URL指向127.0.0.1
JKirchartz 2011年

0

我在adb的android中使用了它。也许有更好的方法。

ip=$(ping -c 1 -W 1 example.com|grep PING|cut -d "(" -f 2|cut -d ")" -f 1)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.