¿El terminal de Android no puede nslookup?


14

Cada vez que trato de hacer un telnet a un dominio en mi LG Ally, falla, pero funciona si uso una dirección IP. Así que traté de usar nslookup telehack.comy vuelve:

Server:       0.0.0.0
Address 1:    0.0.0.0

nslookup: can't resolve 'telehack.com'

Tengo instalado Android Terminal Emulator y BusyBox ,

No funcionaba con el dns predeterminado, por lo que ahora tengo mis entradas de dns configuradas en OpenDNS , y aún así no se resolverá.

¿Hay algo que pueda hacer para resolver esto, o es una limitación para el Aliado?


No tengo ningún problema para hacer un NSlookup en ese dominio o cualquier dominio para el caso.
Ryan Conrad

¿Cómo es su configuración de red? ¿Tiene puertos bloqueados o reenviados?
Matthew leyó el

Estoy teniendo el mismo problema
Max Ried

Respuestas:


4

Este es un problema de diseño conocido cuando se usan estáticamente vinculados libresolv y glibc.

Tienes 2 opciones:

  1. Use la biblioteca Bionic de libc nativa de Google Android en lugar de glibc.

  2. Cree busybox para buscar bibliotecas /system/lib(o cree los enlaces necesarios, por ejemplo /usr/lib -> /system/lib). Coloque ld-linux.so.3, libc.so.6, libresolv.so.2, libnss_dns.so.2 en su /system/lib.


Entonces, ¿quieres que haxxor el Gibson? ¿Qué?
JKirchartz

1

Verifique que su entorno de emulador de terminal tenga DNS configurado correctamente ejecutándolo getprop net.dns1y, si es necesario, configúrelo con setprop net.dns1 [yourdns]. Los comandos pueden diferir según el dispositivo, algunos usan net.eth0.dns1o se net.gprs.dns1ejecutan getpropsin parámetros para ver todas las propiedades establecidas para sugerencias.


el dns está configurado, lo cambié por defecto a openDNS y todavía no funciona ...
JKirchartz

¿ nslookupahora da la dirección correcta del servidor o todavía se muestra 0.0.0.0?
onik

todavía muestra 0.0.0.0
JKirchartz

getprop existe y devuelve una dirección IPv6 para los servidores DNS, a pesar de que el servidor DHCP les entrega una dirección IPv4. Pero setprop no existe.
Michael

1

ingrese su terminal, luego escriba 'su' y presione enter (la nota solo funciona si tiene un teléfono rooteado)

$ su
#

luego ingrese lo siguiente (reemplace xxxx con sus servidores dns ip)

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

Ahora prueba para ver si funcionó correctamente

$ nslookup google.com

Debería resolverse ahora.


Tenga en cuenta que es probable que el sistema resolv.confsobrescriba cada cambio de conectividad.
Flujo

en realidad, NUNCA me ha sucedido esto en ningún dispositivo Android ... Simplemente no cambia (lo sé porque tengo mi servidor DNS privado (local) codificado en resolv.conf y tengo que configurarlo manualmente para otras redes (usando el diálogo avanzado))
Mikah

1

Copié (y cambié ligeramente) mi respuesta de un comentario que publiqué sobre un problema en la página de códigos de Google para Terminal IDE, sin embargo, debería ser lo mismo:

Si está rooteado, puede instalar la última versión de busybox (puede compilarlo). Luego, averigüe dónde actualizó busybox y ejecute los siguientes comandos: (Supongo que la nueva versión está en /system/biny la versión anterior está en ~/system/bin)

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

Ahora los dominios se resolverán correctamente.

Tenga en cuenta: debido a la forma en que funciona busybox, debe ser root para poder usar ping(aunque cosas como wgety nslookupdeberían poder resolver hosts correctamente ahora). Los desarrolladores de busybox están trabajando en este problema.

Personalmente utilicé esta aplicación para instalar la última versión: https://play.google.com/store/apps/details?id=stericson.busybox


0

¿Qué red estás usando? Si es Wifi, ¿pueden contactarlo otras máquinas de su red? Si es el plan de datos del operador ... ¿está siendo bloqueado?

Actualización: 0.0.0.0 me parece un bloque de archivos hosts. ¿Algún bloqueador de anuncios? Adblock plus? ¿Modificaciones de archivos de hosts?

Pruebe las redes USB: si publica un comentario aquí solicitándolo, actualizaré la pregunta y pondré un tutorial (está involucrado, y solo sé cómo hacerlo en máquinas GNU / Linux)


No funciona en 3g (verizon) o WiFi, el mismo 0.0.0.0 no se puede resolver.
JKirchartz

0.0.0.0 me parece un bloque de archivos hosts. ¿Algún bloqueador de anuncios? (Actualizando la respuesta.)
Broam

Solía ​​tener uno, pero realmente no funcionó ... /system/etc/hoststiene un montón de URLs con aspecto de spam apuntadas127.0.0.1
JKirchartz

0

Lo uso en Android desde adb. Tal vez hay mejores formas.

ip=$(ping -c 1 -W 1 example.com|grep PING|cut -d "(" -f 2|cut -d ")" -f 1)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.