Omkearde tethering ferpleatst it ferkear fan in tillefoan nei in kompjûter en liedt it derút troch de ferbining fan dy kompjûter. In USB-kabel allinne docht dat net: de tillefoan hat in opfangenstsjinst nedich dy’t syn routing oernimt, en de kompjûter in relais dat dy pakketten fierder draacht. It paad hat fjouwer sprongen: applikaasje, opfang op de tillefoan, USB-relais en útgong fan de host, en elk hat in oare eigner. Dizze rinhânlieding bout dat paad, set it VPN fan de host op syn plak en kontrolearret elke sprong foardatst it resultaat fertroust.

Yntekenje de sprongen foardatst wat útfierst

Elke sprong past syn eigen belied ta, dêrom seit in wurkjend resultaat oan ien kant neat oer de oare. De applikaasje kiest in bestimming en in oplosser, de opfangenstsjinst beslút hokker ferkear it relais ynkomt, it relais stjoert troch nei de sockets fan de host, en de routing en it VPN fan de host bepale it adres dat de bestimming úteinlik sjocht.

HopOwnerWhat it decides
Application requestThe appDestination, resolver, address family
Capture servicePhone VpnService appWhich traffic enters the relay at all
ADB relayHost processForwarding phone flows to host sockets
Host egressHost routing and VPNExit address and host policy

Mar ien klant fan ’e VPN-tsjinst kin tagelyk de opfangrol fan ’e tillefoan hâlde, dus in twadde gewoane VPN-app stapelt him net op it relais. As it VPN by de kompjûter heart, is de opfangenstsjinst de tagongskeppel nei dy kompjûter, net it bewiis dat in fiere tunnel it resultaat al beskermet.

Meitsje it relais klear foardatst de tillefoan oanrekket

Gnirehtet is it dokumintearre foarbyld fan dizze arsjitektuer: in klant fan ’e VPN-tsjinst sûnder root op ’e tillefoan plus in relais dat fia ADB op ’e host droegen wurdt, mei stipe foar TCP en UDP oer IPv4. Syn repository seit ek dat it projekt net mear aktyf ûnderhâlden wurdt, behannelje it dêrom as it referinsje-ûntwerp en in wurkjend helpmiddel foar in laboratoarium, net as in stipe produkt om oer in beheard fleat te standerdisearjen.

adb devices
adb shell getprop ro.build.version.release
gnirehtet run

Fier earst adb devices út. In tillefoan dy’t de debugging-kaai fan ’e host net akseptearre hat, wurdt as net autorisearre rapportearre, en it relais sil him net oanslute oant de fraach op it apparaat akseptearre is. gnirehtet run ynstallearret de klant, start it relais en aktivearret it opfangen; brûk op in ferzje dy’t de stappen skiedt ynstee de dokumintearre subopdrachten install, relay en start.

ADB-tagong is in apparaatkontrôleferhâlding, gjin netwurkyustelling. Autorisearje allinne in kompjûter dy’tst sels kontrolearrest, en plan om dy autorisaasje yn te lûken as de taak dien is.

Set it VPN fan de host werom yn it paad

It relais is in gewoan hostproses, dus syn fierdere ferbiningen folgje de routingstabel fan de host. In folsleine-tunnelprofyl draacht se; in splitst tunnel miskien net. As it VPN fan de host kontrôles per app brûkt, foegje it relaisbinêre ta oan ’e tastiene set, oars bliuwt it relais de fysike ynterface brûken wylst de browser beskerme liket.

ip route get 1.1.1.1
curl -4 https://ifconfig.me
sudo ss -tnp | grep -i relay

Fier de earste twa opdrachten út foar en nei it ferbinen fan it VPN fan ’e host. Feroaret it adres net, dan is it relais net op ’e tunnel, wat it klantfinster ek seit. In allinnich-privee tunnel lit ek iepenbiere bestimmingen op ’e normale útgong fan ’e host, wat as in lek liket mar it belied is datst ynsteld hast.

DNS wurdt foar ferkear troch it relais op ’e host oplost, dus de oplosser fan ’e host bepaalt hokker tsjinner de nammen sjocht. In privee DNS-ynstelling op ’e tillefoan giet net oer it relais hinne, en in oplosserstest oan ’e tillefoankant sil de sykaksjes fan ’e host net beskriuwe.

Kontrolearje elke sprong apart

Trije kontrôles, yn dizze oarder: de tillefoan berikt it relais, it relais berikt de bestimming ûnder it belied fan ’e host, en de app lost de bestimming op en brûkt him goed. Stop by de earste mislearring ynstee fan siden opnij te laden en te rieden.

adb shell dumpsys connectivity | grep -i -A3 vpn
adb logcat -s GnirehtetRelay:V Gnirehtet:V

In VPN-netwurkynskriuwing yn ’e ferbiningdump docht bliken dat de opfangenstsjinst aktyf is; it eigen log fan it relais docht bliken oft streamen oankomme. It ûntbrekken yn ien fan beide skiedt it probleem skjin: gjin opfang betsjut de tillefoankant, gjin streamen betsjut de hostkant.

In browser dy’t op ’e host wurket, bewiist it paad fan ’e hostbrowser, net dat fan it relaisproses. Fergelykje de adressen dy’t elk rapportearret, en test in privee boarne likegoed as in iepenbiere side, want in allinnich-privee tunnel kin it iene routearje en it oare net.

Briek ôf en kies it flatergedrach

Weromsette heart by de rinhânlieding. Stop en ferwiderje it relais, de-ynstallearje de opfangklant, en lûk de debugging-autorisaasje fan ’e host yn by de ûntwikkelderopsjes fan ’e tillefoan as de taak klear is.

gnirehtet stop
gnirehtet uninstall
adb kill-server

Beslis wat de tillefoan dwaan moat as it relais ferdwynt. Sûnder dúdlike kar kin er weromfalle op mobile data en it ferkear lekke datst routearje woldest, dus stel it blokkearjen fan ferbiningen of it VPN-belied bewust yn en test it ôfbrekken foardatst der op fertroust.

Skriuw de host op dy’t autorisearre wie, de relaisferzje, it tunnelbelied fan ’e host en de ôfbrekstappen. Dat ferslach is wat de folgjende opset fan omkearde tethering werhelber makket ynstee fan wer in middei fan werûntdekking.

Relatearre artikelen