Uso de un teléfono Android como servidor web wifi

Tengo esta idea loca que no sé es posible o no … lo que quiero hacer es configurar mi teléfono como punto de acceso wifi, a continuación, permitir a la gente a conectarse a ella, pero manejar todo el tráfico http entrante yo mismo.

Asi que:

  • Teléfono wifi en modo punto de acceso; Abrir redes wifi (este tidbit funciona – sí sé que no es oficialmente soportado, pero luego no tengo intención de distribuir poner esta aplicación en el mercado abierto o así, funciona en mi teléfono y eso es lo suficientemente bueno para mí).

  • Cliente puede conectarse al teléfono (por ejemplo, mi portátil: esto también funciona).

  • Cuando el cliente intenta abrir una conexión http a cualquier servidor aleatorio, esto tiene que ser interceptado por mi aplicación y manejado por un servidor web local. Este es el punto en el que estoy atascado.

La parte del servidor web no debe ser demasiado difícil; Hay servidores web (de código abierto) disponibles. Pero conseguir el tráfico a ese servidor de la tela, allí está el problema.

El comportamiento que busco es un poco similar a lo que obtienes cuando te conectas a un hotspot abierto, como los hotspots del hotel, que luego te redirigen a una página de inicio de sesión. Esta intercepción de la solicitud de conexión (sospecho que tengo que mirar las solicitudes de DNS?) Es lo que estoy después.

He visto una aplicación que está haciendo esto, pero que requieren el teléfono para ser arraigado. Estoy esperando encontrar una manera de hacerlo sin enraizar el teléfono.

Los hotspots de Wifi normalmente usan IPTables para redirigir el tráfico del puerto 80/443 a un servidor web local.

He funcionado el calamar en máquinas del linux en el pasado en el puerto 3128, después envió todo el tráfico del puerto 80/443 al calamar. Luego utilicé squid redireccionar cualquier url que no permitía explícitamente a un servidor web local.

IPTables es accesible sólo en dispositivos Android con raíz.

Y dudo que haya muchos servidores proxy disponibles en android, por lo que tendría que enviar tráfico HTTP a un servidor proxy a través de la conexión de red.

Como se ha dicho, necesitará IPTables, pero también necesitará un servidor proxy, como Squid .

Google "proxy transparente con calamar", o marque aquí:
Linux: Configurar un proxy transparente con Squid en tres sencillos pasos

Usted no necesita tener un proxy, sólo necesita una pila LAMP completa en su dispositivo e IPtables, puede marcar todos los paquetes que no han sido autenticados para reenviar a través de su página local, a continuación, utilizando php cambiar la regla para esa dirección IP Una vez que la dirección se ha autenticado, podría hacer lo mismo para direcciones MAC si lo desea, también necesitaría un daemon que periódicamente restablecer cada excepción

  • Soporte de multidifusión en Android en modo Hotspot / Tethering
  • Conectarse a dispositivos Android utilizando wifi directo sin necesidad de ayuda
  • Detección de red 3G o Wifi
  • Wifi Connect-Desconectar de escucha
  • Android: ¿Por qué el SDK no proporciona al programador la posibilidad de agregar fácilmente perfiles WiFi (EAP)?
  • Cómo enviar cadena de Android a PC a través de wifi
  • ¿Es posible escribir un wifi cracking util para teléfonos Android? Modo de monitor vs Multicast?
  • UDP Multicasting desde el móvil a la PC
  • Obtener Android WiFi "net.hostname" del código
  • Obtener dispositivos no conectados, cuando mi dispositivo está en modo de conexión
  • La mejor manera de evaluar la velocidad de conexión
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.