Fordított tethering Androidhoz USB-n keresztül: parancsok, ellenőrzések, visszaállítás
A fordított tethering a telefon forgalmát a gazdagép reléjén keresztül küldi. Építse fel a telefontól a gazdagépig vezető útvonalat, tartsa a gazdagép VPN-jét a hurokban, és ellenőrizzen minden ugrást.
A fordított tethering átviszi a telefon forgalmát egy számítógépre, és annak kapcsolatán keresztül vezeti ki. Egy USB-kábel önmagában nem teszi ezt: a telefonnak olyan rögzítőszolgáltatás kell, amely átveszi az útválasztást, a számítógépnek pedig olyan relé, amely továbbviszi azokat a csomagokat. Az útvonalnak négy ugrása van: alkalmazás, rögzítés a telefonon, USB-relé és a gazdagép kimenete, és mindegyiknek más a tulajdonosa. Ez a kézikönyv felépíti ezt az útvonalat, a helyére teszi a gazdagép VPN-jét, és ellenőrzi minden ugrást, mielőtt megbízna az eredményben.
Térképezze fel az ugrásokat, mielőtt bármit futtat
Minden ugrás a saját szabályát alkalmazza, ezért az egyik végén működő eredmény semmit sem mond a másikról. Az alkalmazás célpontot és feloldót választ, a rögzítőszolgáltatás eldönti, milyen forgalom kerül a relébe, a relé továbbítja a gazdagép foglalataiba, a gazdagép útválasztása és VPN-je pedig meghatározza azt a címet, amelyet a célpont végül lát.
| Hop | Owner | What it decides |
|---|---|---|
| Application request | The app | Destination, resolver, address family |
| Capture service | Phone VpnService app | Which traffic enters the relay at all |
| ADB relay | Host process | Forwarding phone flows to host sockets |
| Host egress | Host routing and VPN | Exit address and host policy |
Egyszerre csak egy VPN-szolgáltatás-kliens tarthatja a telefon rögzítési szerepét, ezért egy második közönséges VPN-alkalmazás nem rétegződik a relére. Ha a VPN a számítógéphez tartozik, a rögzítőszolgáltatás a hozzáférési láncszem felé, nem pedig annak bizonyítéka, hogy egy távoli alagút már védi az eredményt.
Készítse elő a relét, mielőtt a telefonhoz nyúl
Gnirehtet a dokumentált példa erre az architektúrára: root nélküli VPN-szolgáltatás-kliens a telefonon, valamint ADB-n keresztül szállított relé a gazdagépen, TCP- és UDP-támogatással IPv4 felett. A tárolója azt is közli, hogy a projektet már nem tartják karban aktívan, ezért referenciatervezésként és laboratóriumi működő eszközként kezelje, nem támogatott termékként, amelyre felügyelt eszközparkot lehetne szabványosítani.
adb devices
adb shell getprop ro.build.version.release
gnirehtet run
Először adb devices futtassa. A telefon, amely nem fogadta el a gazdagép hibakeresési kulcsát, jogosulatlanként jelentkezik, és a relé nem kapcsolódik, amíg az eszközön az engedélykérés el nem fogadja. gnirehtet run telepíti a klienst, elindítja a relét és aktiválja a rögzítést; a lépéseket szétválasztó verzióban használja helyette a dokumentált install, relay és start alparancsokat.
Az ADB-hozzáférés eszközkezelési viszony, nem hálózati beállítás. Csak olyan számítógépet hatalmazzon fel, amelyet Ön irányít, és tervezze meg a felhatalmazás visszavonását a feladat végén.
Tegye vissza a gazdagép VPN-jét az útvonalba
A relé közönséges gazdagép-folyamat, ezért további kapcsolatai a gazdagép útválasztási táblázatát követik. A teljes alagút profilja viszi őket; a megosztott alagút esetleg nem. Ha a gazdagép VPN-je alkalmazásonkénti vezérlést használ, adja hozzá a relé binárisát az engedélyezett halmazhoz, különben a relé továbbra is a fizikai interfészt használja, miközben a böngésző védettnek látszik.
ip route get 1.1.1.1
curl -4 https://ifconfig.me
sudo ss -tnp | grep -i relay
Futtassa az első két parancsot a gazdagép VPN-jének csatlakoztatása előtt és után. Ha a cím nem változik, a relé nincs az alagútban, bármit is mond a kliens ablaka. A csak magánhálózati alagút a nyilvános célpontokat is a gazdagép szokásos kimenetén hagyja, ami szivárgásnak látszik, de az Ön által beállított szabály.
A DNS a gazdagépen oldódik fel a relén átmenő forgalomhoz, ezért a gazdagép feloldója dönti el, melyik kiszolgáló látja a neveket. A telefonon beállított privát DNS nem jut át a relén, és a telefon oldali feloldóteszt nem írja le a gazdagép lekérdezéseit.
Ellenőrizze külön-külön minden ugrást
Három ellenőrzés ebben a sorrendben: a telefon eléri a relét, a relé eléri a célpontot a gazdagép szabálya szerint, és az alkalmazás helyesen oldja fel és használja ezt a célpontot. Az első hibánál álljon meg, ahelyett hogy oldalakat tölt újra és találgat.
adb shell dumpsys connectivity | grep -i -A3 vpn
adb logcat -s GnirehtetRelay:V Gnirehtet:V
VPN-hálózati bejegyzés a kapcsolódási dumpban azt mutatja, hogy a rögzítőszolgáltatás aktív; a relé saját naplója mutatja, érkeznek-e folyamok. Ha valamelyik hiányzik, az tisztán kettéválasztja a problémát: nincs rögzítés, az a telefon oldala, nincsenek folyamok, az a gazdagép oldala.
A gazdagépen működő böngésző a gazdagép böngészőjének útvonalát bizonyítja, nem a reléfolyamatét. Hasonlítsa össze a címeket, amelyeket mindegyik jelent, és teszteljen privát erőforrást csakúgy, mint nyilvános oldalt, mert a csak magánhálózati alagút az egyiket átirányíthatja, a másikat nem.
Bontsa le, és válassza meg a hiba viselkedését
A visszaállítás a kézikönyv része. Állítsa le és távolítsa el a relét, távolítsa el a rögzítőklienst, és a feladat végén vonja vissza a gazdagép hibakeresési felhatalmazását a telefon fejlesztői beállításaiban.
gnirehtet stop
gnirehtet uninstall
adb kill-server
Döntse el, mit tegyen a telefon, amikor a relé eltűnik. Kifejezett választás nélkül visszaeshet mobil adatra, és kiszivárogtathatja azt a forgalmat, amelyet át akart irányítani, ezért szándékosan állítsa be a kapcsolatok tiltásának viselkedését vagy a VPN-szabályt, és tesztelje a lebontást, mielőtt támaszkodna rá.
Jegyezze fel a felhatalmazott gazdagépet, a relé verzióját, a gazdagép alagútszabályát és a lebontási lépéseket. Ez a feljegyzés teszi ismételhetővé a következő fordított tethering-beállítást ahelyett, hogy újabb délutánt töltene az újrafelfedezéssel.