Tengo un sitio web ejecutándose en mi computadora y quiero probarlo desde mi tableta Nexus 7. Es decir, a través de la LAN WiFi local. Si escribo la dirección IP, se conecta, pero muestra el sitio web incorrecto, porque estoy usando un alojamiento virtual con nombre.
Entonces, lo que quiero hacer es poder escribir mysite.local
en Chrome / Firefox en el Nexus, hacer que lo conviertan a 10.1.2.3
(o la dirección IP local que sea), luego llamar al 10.1.2.3
servidor mysite.local
para que lo solicite como Host.
Mi pregunta: ¿Tiene una tableta Android 4.x un /etc/hosts
archivo, o equivalente, que pueda editar? (Sin tener que rootear la tableta, ni nada de eso).
En mis computadoras Linux hago esto agregando una entrada en /etc/hosts
:
10.1.2.3 mysite.local
(O Windows\System32\drivers\etc\hosts
en una máquina con Windows hace lo mismo).
Por cierto, este es un semi-duplicado de Establecer manualmente un nombre de host para la dirección IP (es decir, / etc / hosts equiv.?) , Pero esa pregunta era para Android 2.2, donde aparentemente no era posible. (Una de las ideas alternativas sugirió que había configurar DNS en el enrutador local, pero por lo que puedo decir, mi enrutador no hace DNS localmente, por lo que no tiene esa opción. Podría configurar mi propio servidor DNS para hacer esto, pero eso se siente como una gran solución de trabajo).
fuente
/etc/hosts
, sino configurar tu "servidor de nombres" (por ejemplo, DNSMasq, o lo que sea que uses). Su enrutador podría darle un lugar para eso./etc/hosts
de lo contrario, debe editarse en cada máquina, y el archivo correspondiente en Android solo puede editarse con "poderes de raíz" (no sé su ubicación exacta fuera de mi cabeza, pero está en algún lugar dentro de/data/system
AFAIR). Ver: Cómo editar archivos etc / hostsRespuestas:
No puede simplemente editar el archivo hosts en Android, ya que reside en un sistema de archivos de solo lectura:
/system/etc/hosts
consulte:Las alternativas son:
fuente
Como mencionó lzzy, puede usar el servidor DNSMasq para lograr esto. Pero Chrome usa su propio proceso de resolución de DNS y este método puede no funcionar.
Para iniciar el servidor, use el siguiente comando:
sudo
requerido para enlazar en el puerto 53-d
iniciar servidor en primer plano--no-hosts
no use el archivo de hosts locales--conf-file=/dev/null
no use ningún archivo de configuración--server=8.8.8.8 --server=8.8.4.4
direcciones de servidores ascendentes (DNS de Google en este ejemplo)--address=/example.com/192.168.0.101
hosts para anular. Necesita agregar sus hosts en esta línea. También puede agregar varios hosts allí.Luego cambie el servidor DNS en el dispositivo. Esto se puede hacer fácilmente usando la aplicación DNS Changer .
Después de estos pasos, las solicitudes a estos hosts deben enviarse a sus direcciones.
fuente
La forma más sencilla de definir un mapeo de host a IP es el
hosts
archivo, ya que la mayoría de los que resuelven DNS respetan ese archivo . Pero como se menciona en otras respuestas, no es posible editar/etc/hosts
sin rootear el dispositivo Android. El acceso al servidor web con dirección IP tampoco funcionará para usted debido al alojamiento virtual. Aquí hay algunas opciones que puede utilizar en un dispositivo no rooteado:hosts
archivo personalizado antes de realizar consultas al servidor DNS ascendente configurado.dnsmasq
, agregueaddress=/mysite.local/10.1.2.3
a "dnsmasq.conf" . O endnscrypt-proxy
agregarmysite.local 10.1.2.3
a "cloaking-rules.txt" .10.1.2.3 mysite.local
alhosts
archivo en el servidor proxy o ejecute un servidor DNS local en el servidor VPN.hosts
archivo desde la recuperación personalizada.Para obtener más detalles, consulte: ¿Cómo resolver siempre un nombre de dominio a una IP fija sin enraizamiento?
RELACIONADO:
fuente