¿Cómo llegar a la computadora local a través del nombre de la máquina en lugar de IP?

Desarrollador aquí creando prototipos de una aplicación móvil, algo nueva para dispositivos móviles:

  • Tengo un servicio HTTP simple ejecutándose (actualmente) en mi computadora portátil principal con nombre de máquina latitude.
  • Otra computadora portátil llamada vaioque comparte la misma red WiFi puede acceder a ese servicio a través http://latitude:8080de; en otras palabras, puede resolver fácilmente la IP (actual) 192.168.xy (o cualquier IP dinámica que tenga en ese momento) de latitudealguna manera.
  • Ahora mis teléfonos HTC Android, conectados a la misma red WiFi, pueden alcanzar la dirección IP de latitudemodo que funcione la apertura en su navegador http://192.168.x.y:8080.
  • Pero también me gustaría usar el nombre de la máquina aquí, como cuando accedo al servicio HTTP desde vaio, simplemente escribiendo http://latitude:8080y haciendo que el teléfono resuelva la IP dinámica actual de latitude. Esto no funciona, solo obtenga la página de error estándar del navegador: "Página web no disponible" .

¿Hay alguna configuración de DNS en Android que deba modificar? No he encontrado nada al jugar con la Configuración, y una pregunta como esta también es muy difícil de buscar en Google...

El One V tiene Android 4.0 y el One M7 tiene Android 4.2 en caso de que eso marque la diferencia.

(Tenga en cuenta que esto debería funcionar incluso cuando el Android no está conectado por USB a mis computadoras y no actúa como un punto de acceso WiFi, obviamente, ya que de todos modos está consumiendo mi red WiFi principal).

Respuestas (4)

Independientemente de si está conectado a su red local a través de WiFi y DHCP está en uso, Android siempre parece anular sus entradas de DNS utilizando los servidores de Google. Está algo oculto, pero es fácil de cambiar, siempre que tenga su propio DNS en ejecución (muchos enrutadores ya lo ofrecen).

Para hacerlo, vaya a su lista de redes WiFi en Configuración , mantenga presionada la entrada de su WiFi, seleccione para editarla. Active Configuración avanzada . Ahora puede editar las entradas de DNS. Simplemente reemplace la primera entrada con la IP de su propio servidor DNS y deje la segunda entrada (DNS 2) intacta como alternativa.

Ahora, si su propio DNS puede resolver las máquinas de su red local, debería poder usar sus nombres de host para comunicarse con ellos. No es necesario rootear ni editar el hostsarchivo (pensé que podría ser una alternativa, si no tiene un servicio DNS propio en ejecución). Funciona excelente aquí conmigo y mi red;)

¡Gracias! Aquí está lo extraño, cuando hago esto, mi enrutador (puerta de enlace) ya está ingresado como DNS1 (y Google o 8.8.4.4 como DNS2). Bueno, voy con estos valores predeterminados y los aplico, NetBIOS y SMB están habilitados en la máquina con Windows, pero aún no hay resolución de nombres...
No tengo planes con Windows. En mi caso, es un entorno basado en Linux y el enrutador (AVM Fritz!Box) tiene un servidor de nombres en ejecución. Funciona sin problemas.
Esto debería aplicarse como máximo (si es que se aplica) solo a las versiones anteriores de Android. Mi primer DNS es el local, mientras que el respaldo es el 8.8.8.8 de Google. Lo busqué con getprop | grep -i dnsVer también android.stackexchange.com/a/32278/15713
Firefox actúa de manera diferente y no muestra este comportamiento, supongo que es el omnibox de Chrome (búsqueda combinada / cuadro de entrada de URI) que hace esto
Firefox no usa sus propios servidores DNS (al menos me pregunto si). Todo el software suele pedir al sistema esa información, por lo que el navegador no debería importar aquí. @ce4: Sí, así es como lo configuré manualmente en mi dispositivo: el mismo respaldo, pero el principal que tuve que cambiar manualmente de 4.4.4.4 a mi servidor DNS local. Sé que mi servidor DHCP envía esa información, pero no vi un solo dispositivo Android que cumpliera con eso.
Actualización: vea mi comentario aquí , parece que tengo que retirar parcialmente mi declaración, ya que el comportamiento descrito puede ser específico de las versiones o fabricantes de Android. Acabo de verificar en mis dispositivos 4.1.1 más nuevos, y mi DNS se usa correctamente allí; aunque debo admitir que he perdido la noción de cuáles podría haber configurado manualmente. Pero como ambos todavía estaban configurados en DHCP (y el cambio requiere usar estático), es más probable que no se alteren.
CM7.2 también respeta la configuración recibida a través de DHCP (solo para la interfaz de radio GSM (rmnet1) configura los servidores DNS de Google (probablemente para superar los servidores DNS de proveedores de mierda): [net.dns1]: [192.168.xx] \n [net .dns2]: [8.8.4.4] \n [net.rmnet0.dns1]: [8.8.8.8] \n [net.rmnet0.dns2]: [8.8.4.4] \n [dhcp.tiwlan0.dns1]: [ 192.168.xx] \n [dhcp.tiwlan0.dns2]: []
Cuando uso una dirección IP estática en Android 7.1, mi LAN de repente es inalcanzable (¡a pesar de usar configuraciones de red idénticas a las que proporciona DHCP)!
Izzy, gracias por tu respuesta. Como tiene 7 años, ya no puedo encontrar esa configuración en Android. Me pregunto si sabe cómo responder android.stackexchange.com/q/230644/22600 ¡Gracias por sus pensamientos!
@Ryan todavía están en el mismo lugar: Configuración › Red › WiFi , y al tocar y mantener presionado un nombre, puede abrir un menú que le permite cambiar la configuración del AP. Puede parecer que, al abrir la configuración "avanzada", los detalles desaparecen, pero intente desplazarse hasta allí, simplemente se ocultan :) Ah: y el botón "editar" solo está disponible para la red a la que está conectado. Recién comprobado y verificado en Android 7+8.
@Izzy Gracias. En Android 11, si presiono prolongadamente el nombre de una red wifi, solo veo las opciones "Desconectar" y "Olvidar". Si hago clic en el ícono de ajustes, veo Avanzado, pero ninguno de los datos/opciones allí parece útil.
No puedo ayudar con eso, no tengo ningún dispositivo Android-11 aquí. ¿Pero tal vez una de las aplicaciones de configuración de WiFi o las herramientas de DNS pueden ayudarlo?

Cuando quiero un nombre de máquina en lugar de una IP, edito el archivo HOSTS. Intente agregar los dispositivos y sus direcciones IP allí. Una búsqueda en Google del archivo de hosts para su sistema operativo debería ser fácil.

Editar HOSTS solo es útil si la dirección IP de la computadora portátil siempre permanece estática / igual. Este no será el caso ya que estoy trabajando sobre la marcha, diferentes redes WiFi, direcciones IP dinámicas. Además, la edición de HOSTS requiere un Android rooteado, pero necesito que permanezca sin rootear y en gran medida sin modificar para probarlo en condiciones de "teléfono de consumo normal".

Agregue dos líneas al final del archivo de hosts de su dispositivo ( /etc/hosts) con ES Explorer (necesita un dispositivo rooteado).

Modelo:

your_host_machine's_IP_address  domain_name   

Ejemplo de domain_namepuede ser localhost.

Ejemplo:

::1  domain_name 

Funciona bien cuando se escribe localhosten la barra de URL en lugar de la dirección IP.

Corregí e hice algunos cambios \etc\hostsen /etc/hostsel formato. Traté de no cambiar la intención pero hacer que se viera mejor. Avísame si me equivoqué en alguna parte.

En mi caso, en Windows 10, desactivar temporalmente el firewall de Windows hizo http://latitude:8080posible navegar.

A largo plazo, creé una regla para permitir que este tipo de conexiones atraviesen el firewall...

  • {Windows} > Inicio > "Firewall" > Firewall de Windows Defender con seguridad avanzada. Reglas de entrada > Nueva regla...

    • General
      • Nombre: Conexiones web TCP desde LAN
      • Permitir la conexión si es segura...
      • Elija: "Permitir la conexión si está autenticada y protegida por integridad"
    • Protocolos y puertos
      • Tipo de protocolo: TCP
      • Puerto Local: 80, 880
    • Avanzado
      • Especifique los perfiles a los que se aplica esta regla: Privado
  • {Androide}. Prueba con Firefox o Chrome, no Dolphin