Terminale Android non è in grado di nslookup?


14

Ogni volta che provo a telnetare su un dominio sul mio LG Ally fallisce, ma funziona se uso un indirizzo IP. Quindi ho provato a usare nslookup telehack.come ritorna:

Server:       0.0.0.0
Address 1:    0.0.0.0

nslookup: can't resolve 'telehack.com'

Ho installato Android Terminal Emulator e BusyBox ,

Non funzionava con il DNS predefinito, quindi ora ho le mie voci DNS impostate su OpenDNS e non risolverà ancora.

c'è qualcosa che posso fare per risolvere questo problema o è una limitazione per l'Alleato?


Non ho problemi a fare un NSlookup su quel dominio o su qualsiasi dominio per quella materia.
Ryan Conrad,

Com'è la tua configurazione di rete? Le porte sono bloccate o inoltrate?
Matthew Leggi il

Sto avendo lo stesso problema.
Max Ried,

Risposte:


4

Questo è un problema di progettazione noto quando si usano libresolv e glibc collegati staticamente.

Hai 2 opzioni:

  1. Utilizza la libreria Bionic nativa di Google Android libc invece di glibc.

  2. Costruire busybox in cui cercare le librerie /system/lib(o creare i collegamenti necessari, ad esempio /usr/lib -> /system/lib). Inserisci ld-linux.so.3, libc.so.6, libresolv.so.2, libnss_dns.so.2 nel tuo /system/lib.


Quindi vuoi che io abbia il culo di Gibson? che cosa?
JKirchartz,

1

Verificare che l'ambiente dell'emulatore di terminale abbia il DNS impostato correttamente eseguendolo getprop net.dns1e, se necessario, impostarlo con setprop net.dns1 [yourdns]. I comandi possono differire per dispositivo, alcuni usano net.eth0.dns1o net.gprs.dns1, eseguono getpropsenza parametri per vedere tutte le proprietà impostate per i suggerimenti.


il dns è impostato, l'ho cambiato dal default a openDNS e non funziona ancora ...
JKirchartz,

non nslookupora dare l'indirizzo del server corretto o si manifesta ancora 0.0.0.0?
onik,

mostra ancora 0.0.0.0
JKirchartz il

getprop esiste e restituisce un indirizzo IPv6 per i server DNS, nonostante il server DHCP stia distribuendo un indirizzo IPv4 per loro. Ma setprop non esiste.
Michael, il

1

inserisci il tuo terminale, quindi digita "su" e premi invio (la nota funziona solo se hai un telefono rootato)

$ su
#

quindi inserisci quanto segue (sostituisci xxxx con il tuo ip server dns)

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

Ora prova per vedere se ha funzionato correttamente

$ nslookup google.com

Dovrebbe risolversi ora.


Si noti che è probabile che il sistema resolv.confverrà sovrascritto su ogni modifica della connettività dal sistema.
Flusso

in realtà, non ho MAI avuto questo accadere su qualsiasi dispositivo Android ... Non cambia (lo so perché ho il mio server DNS privato (locale) hardcoded nel resolv.conf e devo effettivamente impostarlo manualmente per altre reti (utilizzando la finestra di dialogo avanzata))
Mikah

1

Ho copiato (e modificato leggermente) la mia risposta da un commento che ho postato su un problema nella tabella codici di Google per Terminal IDE, tuttavia, dovrebbe essere la stessa:

Se sei rootato, puoi installare l'ultima versione di busybox (potresti essere in grado di compilarlo). Quindi scopri dove hai aggiornato busybox ed esegui i seguenti comandi: (Suppongo che la nuova versione sia presente /system/bine quella precedente sia presente ~/system/bin)

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

Ora i domini verranno risolti correttamente.

Nota: a causa del modo in cui busybox funziona, devi essere root per poterlo usare ping(anche se cose come wgete nslookupdovrebbero essere in grado di risolvere correttamente gli host ora). Gli sviluppatori di busybox stanno lavorando su questo problema.

Ho usato personalmente questa applicazione per installare l'ultima versione: https://play.google.com/store/apps/details?id=stericson.busybox


0

Quale rete stai usando? Se è Wifi, altre macchine della tua rete possono contattarlo? Se si tratta del piano dati del gestore telefonico ... è bloccato?

Aggiornamento: 0.0.0.0 mi sembra un blocco di file hosts. Qualche blocco degli annunci? Adblock Plus? Modifiche ai file host?

Prova la rete USB: se pubblichi un commento qui chiedendolo, aggiornerò la domanda e inserirò un tutorial (è coinvolto e so solo come farlo su macchine GNU / Linux)


Non funziona su 3g (verizon) o su WiFi, lo stesso 0.0.0.0 non può essere risolto.
JKirchartz,

0.0.0.0 mi sembra un blocco di file hosts. Qualche blocco degli annunci? (Aggiornamento della risposta.)
Broam,

Ne avevo uno ma non funzionava davvero ... /system/etc/hostsha un sacco di URL dall'aspetto 127.0.0.1
spammy

0

Lo uso in Android da adb. Forse ci sono modi migliori.

ip=$(ping -c 1 -W 1 example.com|grep PING|cut -d "(" -f 2|cut -d ")" -f 1)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.