He a montar /sys
como rw
, añadido a una entrada etc/hosts
(por ejemplo 10.0.0.1 x.com www.x.com
) y reinicia el dispositivo.
Después de reiniciar, si verifico etc/hosts
, la entrada está bien. Si hago ping x.com
, hace sonar la dirección IP correcta que ingresé.
Pero, si abro un navegador web (ya sea stock o Dolphin), y busco x.com
, irá a la dirección IP que resuelve el DNS.
¿Qué esta pasando?
(Mi teléfono es un Nexus One, que ejecuta la ROM personalizada Cyanogen 7.1 basada en Android 2.3.7)
Actualización:
en la aplicación ' LAN Droid ', obtengo la dirección editada (así que 10.0.0.1
) también está bien. Parece que solo en los navegadores se comporta mal.
ls -l /etc/hosts
Posiblemente un problema de permisos / propiedad?chmod 644 /system/etc/hosts
resueltoRespuestas:
Esto suena exactamente como este , por debajo de trabajo de ping pero no el navegador. Su solución final se cita a continuación:
No sé qué utilizó para modificarlo, pero es posible que desee comprobar qué tipo de caracteres de salto de línea / nueva línea está utilizando.
fuente
ff=unix
ahora yset list
ver cualquier salto de línea de DOS ... incluso seguí adelante y ejecuté una expresión regular como si hubiera algún salto de línea de DOS, no se encontró nada.No estoy seguro de si esto ayuda, pero tuve un problema de un archivo de hosts ignorado y fue resuelto por un chico en este hilo ; la respuesta es poner una nueva línea en blanco al final del archivo.
fuente
¿Puede instalar strace y comparar la salida ejecutando strace en ping con strace en el navegador para ver por qué las búsquedas de DNS se manejan de manera diferente?
¿Estás seguro de que no hay almacenamiento en caché persistente? ¿Cuál es el TTL en sus registros de dominio?
Parece que Android no usa /etc/resolv.conf, pero tal vez hay algunas propiedades que controlan qué aplicaciones usan / etc / hosts y cuáles van directamente a la búsqueda de DNS. https://groups.google.com/forum/?fromgroups#!topic/android-platform/K2Wr4WaEneI
fuente
Si está creando el archivo hosts en una máquina con Windows, asegúrese de que cada línea esté separada solo por un LF (no [CR] [LF], solo [LF]). Puede verificar eso y crear un archivo de host adecuado usando notepad ++.
fuente
Creo que necesita vaciar DNS en su Android. Consulte esta pregunta /programming/2101762/android-flush-dns , especialmente "vaya a configuración -> aplicaciones -> Ubicación de red -> Borrar datos".
fuente
Mi sospecha sería que el navegador está configurado para funcionar a través de un proxy.
Es posible que pueda saber usando netstat -n o buscando en / proc / net / tcp (o mejor aún, / proc / # browser_pid # / net / tcp) a qué dirección se está conectando realmente. Si eso no coincide con la dirección de su sitio web, es probable que esté pasando por un intermediario.
fuente
Normalmente diría (pero esto no se aplica a usted, por desgracia):
Simplemente intente reiniciar si los cambios pasan desapercibidos porque la instancia de la máquina Dalvik o el sistema subyacente podrían haber almacenado en caché una solicitud de DNS anterior.
Puede intentar AdAway para agregar entradas manualmente a su archivo de hosts (solo para verificar si hace lo mismo que lo hizo manualmente).
fuente