Ik stel de proxy in de APN-instellingen van mijn mobiele netwerk in het onderstaande screenshot in:

Het werkt goed. Ik heb geverifieerd via whatismyip. Wanneer ik echter de hotspot op het apparaat inschakel en deze hotspot op een ander apparaat gebruik en het IP-adres ervan controleer, wordt het IP-adres van mijn oorspronkelijke mobiele serviceprovider weergegeven en niet het IP-adres van de proxy.

Waarom is dit gedrag van moet het mobiele netwerk gebruiken en de proxy is daarvoor in APN ingesteld? Hoe kan ik de proxy ook op het apparaat laten werken met behulp van een hotspot?

Opmerking: ik wil geen proxy instellen onder geavanceerde instellingen op de wifi-optie van een ander apparaat terwijl ik deze hotspot kies. De app die ik probeer te gebruiken, detecteert een proxy die is ingesteld onder wifi, dus dit is mijn enige optie.

Antwoord

Je vraag is gerelateerd aan begrip van OSI-model . Proxys gebruiken http / https of socks protocol, ik neem aan dat je het hebt over http wat een Application Layer (L7) -protocol is in OSI-model. Wanneer een applicatie een http bericht genereert, wordt het “overgedragen aan de lagere laag. In het geval van https wordt het bericht versleuteld met SSL / TLS dat zijn L6-protocollen. Bij L4 krijgt het bericht een TCP-header en vervolgens bij L3 wordt het geconverteerd naar een IP-pakket. Dit pakket gaat door NAT en firewalls die filteren op L3, en tenslotte door RRM / PDCP / RLC (als je mobiele data gebruikt), MAC en kernel routing op L2. Bij L1 wordt het via Wi-Fi verzonden als 802.11 frames of CDMA / TDMA / FDMA-signalen via mobiele data.

Hotspot daarentegen is voornamelijk gebaseerd op 2 gebruikersruimte-tools; hostapd – waarmee een Wi-Fi-toegangspunt wordt gemaakt op OSI L2 – en dnsmasq (tot Android 9) – die werkt als DHCP / DNS-server bij OSI L7. Als de verbonden host de telefoon gebruikt als DNS-server (zoals geconfigureerd door DHCP), ontvangt de telefoon DNS-querys en stuurt deze recursief door als UDP / IP-pakketten naar de upstream DNS-server op internet (ongeacht dnsmasq is geconfigureerd voor gebruik). De rest van het verkeer afkomstig van het hotspot-netwerk is NAT en wordt gerouteerd op L3 / L2.

Dus je ziet geen van de (IP-pakketten) verkeer dat afkomstig is van verbonden hosts gaat door de http -stack op een Android-telefoon en wordt dus niet doorgestuurd naar de proxyserver. Het is de verantwoordelijkheid van applicaties zoals webbrowsers om http(s) verbindingen met proxyserver, niet rechtstreeks ly naar een externe host zoals een webserver. Het is niet mogelijk om een hotspot te maken die kan worden geconfigureerd om http proxy te gebruiken bij OSI L7. Proxy-instellingen (host / poort) die we hebben ingesteld voor wifi of APN of wereldwijd zijn zojuist doorgestuurd naar applicaties, moet elke applicatie zelf een proxy-verbinding maken, of gewoon de proxy-informatie negeren. Je moet deze proxy-details doorgeven aan apps op elke host die is verbonden via een hotspot. Zie de onderstaande vraag voor meer informatie.

Het is echter mogelijk om al het verkeer met geweld om te leiden naar een proxyserver door gebruik te maken van de Linux / Android-kernels NAT / REDIRECT / TPROXY (op L3) en routeringstabel (op L2). Dat is hoe proxifiers werken , maar er zijn beperkingen . E-mailclients gebruiken IMAP / POP3 / SMTP (L6 / 7) -protocollen die “niet werken met de http GET -methode, maar vereisen in plaats daarvan http CONNECT proxys. Latter kan alleen TCP-verkeer doorsturen, voor UDP is ten minste een SOCKS5-proxy nodig die werkt op L5. DNS en meestal apps voor games en spraakoproepen genereren UDP-verkeer, dus ze werken niet met http proxys helemaal. ping utility – bijvoorbeeld – gebruikt ICMP (op L3) dat “niet kan worden ingekapseld in TCP of UDP, dus het zal ook niet werken met SOCKS5.

Het is dus in ware zin niet mogelijk om al het verkeer om te leiden naar een externe (proxy ) server zonder een L2 / 3-oplossing zoals VPN te gebruiken. Zie voor meer details Hoe stel ik een Wi-Fi HTTPS-proxy in, niet HTTP, via adb-shell?


Waarom dergelijk gedrag als de hotspot verondersteld wordt het mobiele netwerk te gebruiken en de proxy hiervoor in APN is ingesteld?

Hotspot wordt verondersteld het mobiele netwerk te gebruiken, apps zouden de proxy moeten gebruiken. De proxy die u in APN heeft geconfigureerd, wordt niet systeembreed afgedwongen.

Ik wil geen proxy instellen onder geavanceerde instellingen op de wifi-optie van een ander apparaat terwijl ik deze hotspot kies.

Helaas is dit het meest eenvoudig andere methoden vereisen ofwel rooten en / of het gebruik van apps van derden (om VPN te maken). Zie bovenstaande gekoppelde vraag over hoe u proxy transparant kunt afdwingen.

Antwoord

De reden dat u de symptomen ziet, is dat wanneer u uw hotspot inschakelt, u eraan denkt alsof u uw telefoon draait in een router. Dus eventuele netwerkinstellingen op de hotspot zullen het individuele IP-adres van het apparaat niet wijzigen. Wanneer u verbinding maakt met uw hotspot, maakt het verbinding via het IP-adres van dat apparaat en niet wanneer wordt gewijzigd in netwerkinstellingen omdat de gewijzigde netwerkinstellingen de laatste zijn in de hiërarchie van dingen. Ik geloof echt dat als je googelt, het apps zijn die het ip-adres van je apparaten vervalsen, in wezen hetzelfde concept als een proxy, maar gewoon niet detecteerbaar.

Reacties

  • maar uiteindelijk moet het verzoek dat via mijn mobiele verbinding wordt verzonden, via die APN gaan en die proxy volgen, toch? het doet wanneer ik het op hetzelfde apparaat gebruik, zelfs als de hotspot is ingeschakeld. Zoals je zei is dit de laatste heirarchie van dingen, dus nadat de verbinding tot stand is gebracht via een hotspot, zou het daarna via die proxy in de instellingen voor mobiele verbindingen moeten gaan

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *