Cuando el dispositivo intenta conectarse a un punto de acceso o enrutador, debe iniciar sesión en la página del portal cautivo con el mensaje que dice

«Iniciar sesión en la red Wi-Fi».

¿Cómo funciona el punto de acceso / enrutador? identificar que se requiere un inicio de sesión para el dispositivo y cuál es el proceso detrás de él?

Responder

La URL de detección difiere entre diferentes versiones de Android.

Para Marshmallow, utiliza conectividadcheck.gstatic.com/generate_204, verifique el código aquí AndroidXRef – Marshmallow 6.0.0_r1

Para Kitkat, usa clients3.google.com/generate_204 verifique el código AndroidXRef – KitKat 4.4.4_r1

Comentarios

  • No ' t quería secuestrar la respuesta editándola, así que ' Voy a dejar un comentario. Me tomó un tiempo darme cuenta de que la URL de detección activa la notificación si no se puede alcanzarla. Además, necesitaba mi punto de acceso para responder a esta solicitud con algún tipo de contenido; en mi caso, devolví un código 200, así como la página de índice de mi servidor web cuando se solicita / generate_204. Sin contenido en la respuesta, independientemente del código de retorno, recibiría una notificación " Wi-Fi no tiene acceso a Internet ".
  • @ubomb Parece extraño, ya que http://connectivitycheck.gstatic.com/generate_204 en realidad devuelve un 204 sin contenido, y obviamente funciona. Quizás simplemente omitió el encabezado Content-Length: 0.

Respuesta

Esta tecnología se llama «portal cautivo». Hay varias implementaciones. Como sé, Android intenta acceder a un archivo llamado generate_204 en uno de los servidores de Google y, si no es posible, se genera una notificación.

Lectura adicional en Wikipedia: Captive_portal

Comentarios

  • En realidad, sé sobre el portal cautivo. Pero conozco la URL específica para verificarla. Quiero saber como funciona. No es lo que es.
  • ¿Qué quieres decir con " cómo funciona "? Android envía una solicitud y, si no hay una respuesta positiva, significa que no hay conexión a Internet y se genera una notificación. Así funciona '.
  • Cuál es la URL específica en la que solicita Android. Tengo la mención en cuestión.
  • En su comentario anterior, dijo que conoce la URL específica. Creo que ' s https://www.gstatic.com/generate_204
  • La URL parece ser clients3.google.com/generate_204 . Información extraída de este sitio para el cromo, que probablemente sea la misma para Android. chromium.org/chromium-os/chromiumos-design-docs/…

Respuesta

Un portal cautivo generalmente se implementa dirigiendo todo el tráfico a una respuesta HTTP válida (200). Esta respuesta HTTP es la que aparece en el portal cautivo.

Esto se puede hacer con herramientas como iptables o dnsmasq.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *