Nastavuji proxy v nastavení APN své mobilní sítě na níže uvedeném snímku obrazovky:
Funguje to dobře. Ověřil jsem to přes whatismyip. Když však aktivuji hotspot na zařízení a použiji tento hotspot na jiném zařízení a zkontroluji IP z něj, zobrazí se moje původní IP poskytovatel mobilních služeb a ne proxy IP.
Proč takové chování, pokud hotspot má používat mobilní síť a je pro ni nastaven proxy v APN? Jak mohu zajistit, aby proxy fungoval také na zařízení pomocí hotspotu?
Poznámka: Při výběru tohoto hotspotu nechci nastavit proxy v pokročilém nastavení na jiné možnosti wifi zařízení. Aplikace, kterou se pokouším použít, detekuje proxy nastavený pod wifi, takže toto je moje jediná možnost.
Odpověď
Vaše otázka je souvisí s porozuměním modelu OSI . Proxy používají http
/ https
nebo socks
protokol, předpokládám, že mluvíte o http
což je protokol Application Layer (L7) v modelu OSI. Když aplikace generuje http
zprávu, je předána do nižší vrstvy. V případě https
je zpráva šifrována pomocí SSL / TLS což jsou protokoly L6. V L4 dostane zpráva hlavičku TCP a poté v L3 je převedena na IP paket. Tento paket prochází filtrováním NAT a firewallů na L3 a nakonec RRM / PDCP / RLC (pokud používá mobilní data), MAC a směrování jádra na L2. Na L1 se přenáší přes Wi-Fi jako 802.11
rámce nebo signály CDMA / TDMA / FDMA přes mobilní data.
Hotspot na druhé straně je založen hlavně na na 2 nástrojích uživatelského prostoru; hostapd
– který vytváří přístupový bod Wi-Fi v OSI L2 – a dnsmasq
(až do Android 9) – který funguje jako server DHCP / DNS v OSI L7. Pokud připojený hostitel používá telefon jako server DNS (nakonfigurovaný pomocí DHCP), telefon přijímá dotazy DNS a rekurzivně je předává jako pakety UDP / IP na předřazený server DNS na internetu (cokoli dnsmasq
je nakonfigurován k použití). Zbytek provozu přicházejícího ze sítě hotspotů je NATed a směrován na L3 / L2.
Takže žádný z (IP paketů) nevidíte provoz přicházející z připojených hostitelů prochází http
zásobníkem v telefonu Android, a tudíž není předáván na proxy server. Je odpovědností aplikací, jako jsou webové prohlížeče, aby http(s)
připojení k serveru proxy, nikoli přímé vzdáleného hostitele, jako je webový server. Není možné vytvořit hotspot, který lze nakonfigurovat pro použití http
proxy v OSI L7. Nastavení serveru proxy (hostitel / port), které jsme nastavili pro Wi-Fi nebo APN, nebo globálně jsou právě předávány aplikacím musí každá aplikace vytvořit proxy spojení sama, nebo prostě ignorovat informace o proxy serveru. Tyto podrobnosti proxy serveru musíte poskytnout aplikacím na každém hostiteli připojeném přes hotspot. Další podrobnosti najdete v níže uvedené otázce.
Je však možné vynutit přesměrování celého provozu na proxy server pomocí NAT / REDIRECT / TPROXY (na L3) a směrovací tabulky (na L3) jádra Linux / Android. Takto fungují proxy , ale existují omezení . E-mailoví klienti používají protokoly IMAP / POP3 / SMTP (L6 / 7), které nebudou pracovat s metodou http GET
, místo toho vyžadují http CONNECT
proxy. Pozdější může předávat pouze provoz TCP, pro UDP je potřeba alespoň proxy SOCKS5, který pracuje na L5. DNS a většinou hry a aplikace pro hlasové volání generují provoz UDP, takže nebudou pracovat s http
proxy vůbec. ping
nástroj – například – používá ICMP (na L3), který nelze zapouzdřit v TCP nebo UDP, takže nebude fungovat ani s SOCKS5.
Takže ve skutečném smyslu není možné přesměrovat veškerý provoz na vzdálený server (proxy ) server bez použití řešení L2 / 3, jako je VPN. Další informace najdete v Jak nastavit proxy Wi-Fi HTTPS, nikoli HTTP, pomocí adb shellu?
Proč takové chování, pokud má hotspot využívat mobilní síť a proxy je pro ni nastaven v APN?
Hotspot má používat mobilní síť, aplikace mají používat proxy. Proxy, které jste nakonfigurovali v APN, nejsou vynuceny v celém systému.
Nechci při volbě tohoto hotspotu nastavit proxy na pokročilé nastavení na jiném WiFi zařízení.
Bohužel je to nejpřímější způsobem jiné metody vyžadují buď rootování a / nebo používání aplikací třetích stran (k vytvoření VPN). Viz výše související otázka, jak transparentně vynutit proxy.
Odpověď
Důvodem, proč vidíte příznaky, je to, že když zapnete svůj hotspot, myslete na to, jako byste otočili telefon do routeru. Žádné nastavení sítě na aktivním místě tedy nezmění individuální IP adresu zařízení. Když se připojíte k hotspotu, připojí se podle IP zařízení, a nikoli, když se změní v nastavení sítě, protože změněné nastavení sítě je poslední v hierarchii věcí. Věřím, že pokud vyhledáváte na Googlu, jsou to aplikace, které zfalšují IP adresu vašeho zařízení v podstatě stejným konceptem jako proxy, který je nezjistitelný.
Komentáře
- ale nakonec požadavek odeslaný prostřednictvím mého mobilního připojení musí procházet tímto APN a musí se řídit tímto proxy, že? dělá to, když ji používám na stejném zařízení, i když je aktivní hotspot. Jak jste řekli, je to poslední dědičnost věcí, takže po připojení prostřednictvím hotspotu by měl tento proxy server projít v nastavení mobilního připojení.