2 votos

El proxy establecido en el APN de la red móvil no funciona cuando se utiliza como hotspot

Estoy estableciendo el proxy en la configuración de APN de mi red móvil en la captura de pantalla que se muestra a continuación:

Funciona bien. Lo he verificado a través de whatismyip. Sin embargo, cuando habilito el hotspot en el dispositivo y uso este hotspot en otro dispositivo y compruebo la IP desde él, muestra la IP de mi proveedor de servicios móviles original y no la IP del proxy.

¿Por qué este comportamiento si el hotspot se supone que utiliza la red móvil y el proxy se establece en APN para ello? ¿Cómo puedo hacer que el proxy funcione también en el dispositivo que utiliza el hotspot?

Nota: No quiero establecer el proxy en la configuración avanzada de la opción wifi de otro dispositivo al elegir este punto de acceso. La aplicación que estoy tratando de usar detecta proxy establecido bajo wifi por lo que esta es mi única opción.

4voto

Jack Wade Puntos 231

Su pregunta está relacionada con la comprensión de Modelo OSI . Los proxies utilizan http / https o socks protocolo, supongo que se refiere a http que es un protocolo de la capa de aplicación (L7) en el modelo OSI. Cuando una aplicación genera http mensaje, se entrega a la capa inferior. En caso de https El mensaje es encriptado por SSL/TLS que son protocolos L6. En L4 el mensaje recibe una cabecera TCP y luego en L3 se convierte en un paquete IP. Este paquete pasa a través de NAT y del filtrado de los cortafuegos en L3, y finalmente a través de RRM/PDCP/RLC (si se utilizan datos móviles), MAC y enrutamiento del núcleo en L2. En L1 se transmite por Wi-Fi como 802.11 tramas o señales CDMA/TDMA/FDMA sobre datos móviles.

Por otro lado, Hotspot se basa principalmente en dos herramientas del espacio del usuario; hostapd - que crea el punto de acceso Wi-Fi en OSI L2 - y dnsmasq (hasta Android 9) - que funciona como servidor DHCP/DNS en OSI L7. Si el host conectado está usando el teléfono como servidor DNS (según lo configurado por DHCP), el teléfono recibe las consultas DNS y las reenvía recursivamente como paquetes UDP/IP al servidor DNS ascendente en Internet (cualquiera que sea dnsmasq está configurado para usar). El resto del tráfico proveniente de la red del hotspot es NATed y enrutado en L3/L2.

Así que usted ve que ninguno de los (paquetes IP) el tráfico procedente de los hosts conectados va a través de http en el teléfono Android, por lo que no se reenvía al servidor proxy. Es la responsabilidad de aplicaciones como los navegadores web para hacer http(s) conexiones al servidor proxy, no directamente al host remoto como el servidor web. No es posible crear un hotspot que pueda ser configurado para usar http proxy en OSI L7. Las configuraciones de proxy (host/puerto) que establecemos para Wi-Fi o APN o globalmente sólo se reenvían a las aplicaciones, cada aplicación tiene que crear una conexión proxy por sí misma, o simplemente ignorar la información del proxy. Tienes que proporcionar estos detalles de proxy a las aplicaciones en cada host conectado a través de hotspot. Vea la pregunta enlazada abajo para más detalles.

Sin embargo, es posible redirigir a la fuerza todo el tráfico hacia un servidor proxy utilizando el NAT/REDIRECT/TPROXY del kernel de Linux/Android (en L3) y la tabla de enrutamiento (en L2). Así es como funcionan los proxys, pero hay limitaciones . Los clientes de correo electrónico utilizan protocolos IMAP/POP3/SMTP (L6/7) que no funcionan con http GET en lugar de requerir http CONNECT apoderados. Estos últimos sólo pueden reenviar el tráfico TCP, para el UDP se necesita al menos un proxy SOCKS5 que funciona a L5. Los DNS y la mayoría de los juegos y aplicaciones de llamadas de voz generan tráfico UDP, por lo que no funcionarán con http de los proxies en absoluto. ping por ejemplo, utiliza ICMP (en L3) que no puede encapsularse en TCP o UDP, por lo que tampoco funcionará con SOCKS5.

Así que no es posible en verdadero sentido redirigir todo el tráfico hacia un servidor remoto (proxy) sin utilizar una solución L2/3 como la VPN. Para más detalles, consulte ¿Cómo configurar el proxy HTTPS de Wi-Fi, no HTTP, a través de adb shell?


¿Por qué este comportamiento si el hotspot se supone que utiliza la red móvil y el proxy se establece en APN para ello?

Se supone que el Hotspot utiliza la red móvil, las aplicaciones se supone que utilizan el proxy. El proxy que has configurado en APN no se aplica en todo el sistema.

No quiero establecer el proxy en la configuración avanzada de la opción WiFi de otro dispositivo al elegir este punto de acceso.

Desgraciadamente esta es la forma más sencilla, otros métodos requieren o bien rootear y/o utilizar aplicaciones de terceros (para crear VPN). Vea la pregunta enlazada arriba sobre cómo aplicar el proxy de forma transparente.

1voto

nuzz Puntos 206

La razón por la que ves los síntomas es porque cuando enciendes tu hotspot piensa que es como convertir tu teléfono en un router. Así que cualquier configuración de red en el punto caliente no cambiará la dirección IP individual de los dispositivos. Cuando te conectas a tu hotspot se conecta por esa IP de los dispositivos y no cuando se cambia en los ajustes de red porque los ajustes de red cambiados son los últimos en la jerarquía de las cosas. Creo que si usted busca en Google, hay aplicaciones que falsifican la dirección IP de sus dispositivos, esencialmente el mismo concepto que un proxy sólo indetectable.

0 votos

Pero en última instancia, la solicitud que se envía a través de mi conexión móvil debe ir a través de ese APN y debe seguir ese proxy derecho? lo hace cuando lo uso en el mismo dispositivo, incluso cuando hotspot está en. Como has dicho es la última jerarquía de las cosas así que después de la conexión se hace a través de hotspot debe ir a través de ese proxy en la configuración de la conexión móvil después de eso

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X