Terminal Android não é capaz de nslookup?


14

Toda vez que tento telnetar para um domínio no meu LG Ally, ele falha, mas funciona se eu usar um endereço IP. Então eu tentei usar nslookup telehack.come ele retorna:

Server:       0.0.0.0
Address 1:    0.0.0.0

nslookup: can't resolve 'telehack.com'

Eu tenho o Emulador de terminal Android e o BusyBox instalados,

Ele não estava funcionando com o DNS padrão, então agora eu tenho minhas entradas de DNS definidas como OpenDNS e ainda não será resolvido.

Existe algo que eu possa fazer para resolver isso ou é uma limitação para o Aliado?


Não tenho nenhum problema ao fazer um NSlookup nesse domínio ou em qualquer outro domínio.
Ryan Conrad

Como é a sua configuração de rede? Você tem portas bloqueadas ou encaminhadas?
Matthew Leia

Estou tendo o mesmo problema.
Max Ried

Respostas:


4

Esse é um problema de design conhecido ao usar o libresolv e a glibc estaticamente vinculados.

Você tem 2 opções:

  1. Use a biblioteca Bionic libc nativa do Google Android em vez da glibc.

  2. Crie o busybox para pesquisar bibliotecas /system/lib(ou faça os links necessários, por exemplo /usr/lib -> /system/lib). Coloque ld-linux.so.3, libc.so.6, libresolv.so.2, libnss_dns.so.2 no seu /system/lib.


Então você quer que eu assista o Gibson? que?
JKirchartz 31/10/11

1

Verifique se o ambiente do emulador de terminal possui o DNS configurado corretamente executando-o getprop net.dns1e, se necessário, configure-o com setprop net.dns1 [yourdns]. Os comandos podem diferir por dispositivo, alguns usam net.eth0.dns1ou são net.gprs.dns1executados getpropsem parâmetros para ver todas as propriedades definidas para obter dicas.


O DNS é definido, o texto foi alterado do padrão para OpenDNS e ainda não funciona ...
JKirchartz

se nslookupagora dar o endereço correto do servidor ou ele ainda mostram 0.0.0.0?
Onik

ainda mostra 0.0.0.0
JKirchartz 26/09/11

O getprop existe e retorna um endereço IPv6 para servidores DNS, apesar do servidor DHCP estar entregando um endereço IPv4 para eles. Mas setprop não existe.
Michael

1

entre no seu terminal, digite 'su' e pressione enter (a nota funciona apenas se você tiver um telefone root)

$ su
#

em seguida, digite o seguinte (substitua xxxx pelo seu servidor de DNS ip)

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

Agora teste para ver se funcionou corretamente

$ nslookup google.com

Deve resolver agora.


Observe que é provável que resolv.confele seja sobrescrito em todas as alterações de conectividade pelo sistema.
Fluxo

Na verdade, eu nunca tive isso acontecer em qualquer dispositivo Android ... Simplesmente não muda (eu sei disso porque tenho meu servidor de DNS privado (local) codificado no resolv.conf e preciso configurá-lo manualmente para outras redes (usando o diálogo avançada))
Mikah

1

Copiei (e mudei um pouco) minha resposta de um comentário que publiquei sobre um problema na página de código do Google para o Terminal IDE, no entanto, deve ser o mesmo:

Se você estiver enraizado, poderá instalar a versão mais recente do busybox (poderá compilá-lo). Em seguida, descubra onde você atualizou o busybox e execute os seguintes comandos: (Presumo que a nova versão esteja /system/bine a versão antiga ~/system/bin)

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

Agora os domínios serão resolvidos corretamente.

Atenção: devido ao modo como o busybox funciona, você precisa ser root para poder usá-lo ping(embora coisas como wgete nslookupdevam ser capazes de resolver os hosts corretamente agora). Os desenvolvedores do busybox estão trabalhando nessa questão.

Eu pessoalmente usei esse aplicativo para instalar a versão mais recente: https://play.google.com/store/apps/details?id=stericson.busybox


0

Qual rede você está usando? Se for Wifi, outras máquinas da sua rede podem contatá-lo? Se o plano de dados da operadora ... está sendo bloqueado?

Atualização: 0.0.0.0 parece um bloco de arquivo de hosts para mim. Algum bloqueador de anúncios? Adblock plus? Hosts modificações de arquivo?

Experimente a rede USB - se você postar um comentário aqui, solicitarei a atualização da pergunta e o colocarei em um tutorial (está envolvido, e eu sei apenas como fazê-lo em máquinas GNU / Linux)


Ele não funciona em 3G (verizon) ou em WiFi, o mesmo 0.0.0.0 não pode resolver.
JKirchartz

0.0.0.0 parece um bloco de arquivo de hosts para mim. Algum bloqueador de anúncios? (Resposta de atualização.)
Broam

Eu costumava ter um, mas não deu muito certo ... /system/etc/hoststem um monte de URLs de spam procurando apontou para127.0.0.1
JKirchartz

0

Eu uso isso no android a partir de adb. Talvez haja maneiras melhores.

ip=$(ping -c 1 -W 1 example.com|grep PING|cut -d "(" -f 2|cut -d ")" -f 1)
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.