A proxyt az alábbi képernyőképen állítom be mobilhálózatom APN-beállításaiban:
Jól működik. Whatismyip-en keresztül igazoltam. Ha azonban engedélyezem a hotspotot az eszközön, és ezt a hotspotot egy másik eszközön használom, és ellenőrzem az IP-t, akkor az az eredeti mobilszolgáltatói IP-t mutatja, nem pedig a proxy IP-t. állítólag a mobil hálózatot használja, és a proxy az APN-ben van beállítva hozzá? Hogyan tudom a proxyt működtetni az eszközön a hotspot használatával is?
Megjegyzés: Nem szeretném beállítani a proxyt a speciális eszközök speciális beállításai alatt más eszköz wifi-beállításánál, miközben ezt a hotspotot választom. Az alkalmazás, amelyet megpróbálok használni, felismeri a wifi alatt beállított proxyt, így ez az egyetlen lehetőségem.
Válasz
A kérdésed az OSI modell megértésével kapcsolatos. A meghatalmazottak http
/ https
vagy socks
protokollt használnak, feltételezem, hogy http
, amely egy Application Layer (L7) protokoll az OSI modellben. Amikor egy alkalmazás generál http
üzenetet, átadja az alsó rétegnek. https
esetén az üzenetet SSL / TLS titkosítja amelyek L6 protokollok: L4-nél az üzenet kap egy TCP fejlécet, majd L3-nál IP-csomaggá konvertálja. Ez a csomag a NAT és a tűzfalak szűrésén megy keresztül az L3-on, végül az RRM / PDCP / RLC-n (ha mobil adatot használ), a MAC és a kernel útvonalán L2-n. Az L1-nél Wi-Fi-n keresztül 802.11
keretként vagy CDMA / TDMA / FDMA jelként továbbítja a mobil adatátvitelt.
A hotspot viszont főleg 2 userspace eszközön; hostapd
– amely Wi-Fi hozzáférési pontot hoz létre az OSI L2-nél – és dnsmasq
(akár Android 9-ig) – amely DHCP / DNS szerverként működik az OSI L7-nél. Ha a csatlakoztatott gazdagép a telefont használja DNS-kiszolgálóként (a DHCP konfigurálásával), akkor a telefon fogadja a DNS-lekérdezéseket, és rekurzív módon továbbítja őket UDP / IP-csomagként az upstream DNS-kiszolgálóra az interneten (bármi is legyen dnsmasq
használatra van konfigurálva.) A hotspot hálózatból érkező forgalom többi része NAT és L3 / L2 ponton van irányítva.
Tehát egyikét sem látja (IP csomagok) a csatlakoztatott állomásokról érkező forgalom http
veremen megy keresztül az Android telefonon, ezért nem továbbítja azt a proxy szerverre. Az alkalmazások felelőssége, mint például a Böngészők, hogy készítsenek http(s)
kapcsolatok a proxy szerverhez, nem közvetlenek távoli gazdagépre, mint a webszerver. Nem lehet olyan hotspotot létrehozni, amely beállítható a http
proxy használatára az OSI L7-nél. A proxy beállításai (gazdagép / port), amelyeket Wi-Fi vagy APN számára állítottunk be, vagy globálisan Most továbbítva az alkalmazásokhoz, minden alkalmazásnak egyedül kell létrehoznia a proxykapcsolatot, vagy csak figyelmen kívül kell hagynia a proxy adatait. Ezeket a proxy adatait meg kell adnia minden hotspoton keresztül csatlakozó gazdagép alkalmazásainak. További részletekért lásd az alábbi linket.
Azonban a teljes forgalmat erőteljesen át lehet irányítani egy proxy szerverre a Linux / Android kernel NAT / REDIRECT / TPROXY (L3-nál) és útválasztási táblázat (L2-nél) használatával. Így működnek a proxifixerek , de vannak korlátozások . Az e-mail kliensek olyan IMAP / POP3 / SMTP (L6 / 7) protokollokat használnak, amelyek nem fognak működni http GET
módszerrel, ehelyett http CONNECT
proxykra van szükségük. Az utóbbiak csak TCP-forgalmat tudnak továbbítani, az UDP-hez legalább SOCKS5 proxy szükséges, amely L5-nél működik. A DNS és főleg a játékok és a hanghívó alkalmazások generálnak UDP-forgalmat, így nem fognak működni a http
egyáltalán meghatalmazottak. A ping
segédprogram – például – az ICMP-t használja (L3-nál), amelyet “nem lehet beágyazni TCP-be vagy UDP-be, ezért nem fog működni a SOCKS5-tel sem.
Tehát valódi értelemben nem lehetséges az összes forgalom átirányítása egy távoli (proxy) felé ) szerver L2 / 3 megoldás, például a VPN használata nélkül. További részletekért lásd: Hogyan állítsuk be a HTTP-n kívüli Wi-Fi HTTPS proxyt az adb-héj segítségével?
Miért ilyen viselkedés, ha a hotspotnak állítólag a mobil hálózatot kell használnia, és a proxy az APN-ben van beállítva hozzá?
A hotspotnak a mobilhálózatot kell használnia, az alkalmazásoknak a proxyt kell használniuk. Az APN-ben konfigurált proxy nem érvényesül egész rendszeren.
A hotspot kiválasztása közben nem szeretném a proxy-t más eszköz WiFi-beállításánál speciális beállítások alatt beállítani.
Sajnos ez a legegyszerűbb kórházi mód, más módszerek megkövetelik a gyökerezést és / vagy a harmadik féltől származó alkalmazások használatát (a VPN létrehozásához). Lásd a kapcsolt kérdést a proxy átlátható érvényesítésének módjáról.
Válasz
Ennek oka az, hogy a tüneteket látja, mert amikor bekapcsolja a hotspotot, gondoljon rá, mint a telefon bekapcsolására egy routerbe. Tehát a hotpot bármely hálózati beállítása nem változtatja meg az eszközök egyedi IP-címét. Amikor csatlakozik a hotspotjához, akkor az adott eszköz IP-címe csatlakozik, és nem akkor, amikor a hálózati beállítások megváltoztatják, mert a megváltozott hálózati beállítások a dolgok hierarchiájában utoljára szerepelnek. Úgy gondolom, hogy ha a Google-on keres, akkor olyan alkalmazások vannak, amelyek az eszközei IP-címét lényegében ugyanazt a koncepciót csalják, mint a proxy, csak észrevehetetlen.
Megjegyzések
- de végül a mobilkapcsolatomon keresztül küldött kérelemnek át kell esnie az APN-n, és követnie kell ezt a proxyt? akkor is, ha ugyanazon az eszközön használom, akkor is, ha a hotspot be van kapcsolva. Mint mondtad, ez a dolgok utolsó öröksége, így miután a hotspoton keresztül létrejött a kapcsolat, a mobil kapcsolat beállításainál ezt követően át kell mennie ezen a proxyn.