Jeg indstiller proxyen i APN-indstillingerne på mit mobilnetværk i nedenstående skærmbillede:

Det fungerer godt. Jeg bekræftede via whatismyip. Men når jeg aktiverer hotspot på enheden og bruger dette hotspot på en anden enhed og tjekker IP fra den, viser det min oprindelige mobiltjenesteudbyders IP og ikke proxy-IP.

Hvorfor sådan adfærd, hvis hotspotet skal bruge mobilnetværket, og proxyen er indstillet i APN for det? Hvordan kan jeg få proxy til at fungere på enheden ved hjælp af hotspot også?

Bemærk: Jeg vil ikke indstille proxy under avanceret indstilling på anden enheds wifi-mulighed, mens jeg vælger dette hotspot. Den app, som jeg prøver at bruge, registrerer proxysæt under wifi, så dette er min eneste mulighed.

Svar

Dit spørgsmål er relateret til forståelse af OSI-model . Fuldmagter bruger http / https eller socks protokol, jeg antager, at du taler om http som er en Application Layer (L7) -protokol i OSI-model. Når et program genererer http besked, overføres det til det nederste lag. I tilfælde af https krypteres meddelelsen med SSL / TLS der er L6-protokoller. På L4 får meddelelsen et TCP-header og derefter på L3 konverteres det til en IP-pakke. Denne pakke gennemgår NAT- og firewallsfiltrering ved L3 og endelig gennem RRM / PDCP / RLC (hvis der bruges mobildata), MAC og kernerute ved L2. På L1 transmitteres den via Wi-Fi som 802.11 rammer eller CDMA / TDMA / FDMA-signaler over mobildata.

Hotspot er derimod hovedsageligt baseret på 2 brugerrumsværktøjer; hostapd – som opretter Wi-Fi-adgangspunkt ved OSI L2 – og dnsmasq (op til Android 9) – som fungerer som DHCP / DNS-server på OSI L7. Hvis den tilsluttede vært bruger telefonen som DNS-server (som konfigureret af DHCP), modtager telefonen DNS-forespørgsler og videresender dem rekursivt som UDP / IP-pakker til opstrøms DNS-server på internettet (uanset dnsmasq er konfigureret til at bruge). Resten af trafikken fra hotspot-netværk er NAT-routet og dirigeres ved L3 / L2.

Så du ser ingen af (IP-pakkerne) trafik, der kommer fra tilsluttede værter, går gennem http stakken på Android-telefonen og videresendes derfor ikke til proxyserveren. Det er applikationer som webbrowsere, der har ansvaret for at gøre http(s) forbindelser til proxyserver, ikke direkte ly til fjernhost som webserver. Det er ikke muligt at oprette et hotspot, der kan konfigureres til at bruge http proxy på OSI L7. Proxyindstillinger (vært / port), vi indstiller til Wi-Fi eller APN eller globalt, er netop videresendt til applikationer, skal hver applikation oprette en fuldstændig forbindelse alene eller bare ignorere proxyoplysningerne. Du skal angive disse proxyoplysninger til apps på hver vært, der er tilsluttet via hotspot. Se spørgsmålet linket nedenfor for flere detaljer.

Det er dog muligt kraftigt at omdirigere hele trafikken mod en proxyserver ved hjælp af Linux / Android-kernens NAT / REDIRECT / TPROXY (ved L3) og routingtabel (ved L2). Sådan fungerer proxifiers , men der er begrænsninger . E-mail-klienter bruger IMAP / POP3 / SMTP (L6 / 7) -protokoller, som ikke fungerer med http GET -metoden, men i stedet kræver http CONNECT proxyer. Senere kan kun videresende TCP-trafik, for UDP er der mindst brug for SOCKS5-proxy, der fungerer ved L5. DNS og mest spil og taleopkaldsapps genererer UDP-trafik, så de vil ikke arbejde med http fuldmagter overhovedet. ping værktøj – for eksempel – bruger ICMP (ved L3), som ikke kan indkapsles i TCP eller UDP, så det fungerer ikke også med SOCKS5.

Så det er ikke i sand forstand muligt at omdirigere al trafik mod en fjernbetjening (proxy ) server uden brug af en L2 / 3-løsning som VPN. For flere detaljer se Sådan indstilles Wi-Fi HTTPS-proxy, ikke HTTP, via adb-shell?


Hvorfor sådan adfærd, hvis hotspotet skal bruge mobilnetværket, og proxyen er indstillet i APN for det?

Hotspot skal bruge mobilnetværket, apps skal bruge proxyen. Den proxy, du konfigurerede i APN, håndhæves ikke hele systemet.

Jeg vil ikke indstille proxy under avanceret indstilling på anden enheds WiFi-mulighed, mens jeg vælger dette hotspot.

Desværre er dette det mest lige på anden måde kræver andre metoder enten rooting og / eller brug af tredjepartsapps (for at oprette VPN). Se ovenstående linket spørgsmål om, hvordan man håndhæver proxy gennemsigtigt.

Svar

Årsagen til, at du ser symptomerne, er fordi når du tænder dit hotspot, så tænk på det som at dreje din telefon ind i en router. Så eventuelle netværksindstillinger på hot spot ændrer ikke enhedernes individuelle IP-adresse. Når du opretter forbindelse til dit hotspot, forbinder det med den enhedens IP, og ikke når ændres i netværksindstillinger, fordi de ændrede netværksindstillinger sidst er i tingenes hierarki. Jeg tror, at hvis du googler på det, er det apps, der vil spoofe dine enheds ip-adresser, stort set det samme koncept som en proxy, der bare ikke kan detekteres.

Kommentarer

  • men i sidste ende skal den anmodning, der sendes gennem min mobilforbindelse, gå igennem denne APN og skal følge den proxy, ikke? det gør det, når jeg bruger det på samme enhed, selv når hotspot er aktiveret. Som du sagde, det er det sidste arv fra ting, så efter at forbindelsen er oprettet via hotspot, skal den gennemgå denne proxy i mobilforbindelsesindstillinger efter det

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *