Tethering ya kinyume huhamisha trafiki ya simu hadi kwenye kompyuta na kuiondoa kupitia muunganisho wa kompyuta hiyo. Kebo ya USB peke yake haifanyi hivi: simu inahitaji huduma ya kunasa ambayo inachukua uelekezaji wake, na kompyuta inahitaji relay inayobeba pakiti hizo mbele. Njia ina hatua nne: programu, unasa kwenye simu, relay ya USB na kutoka kwa mwenyeji, na kila moja ina mmiliki tofauti. Kitabu hiki cha utendaji kinajenga njia hiyo, kinaweka VPN ya mwenyeji mahali pake na kuthibitisha kila hatua kabla ya kuamini matokeo.

Chora ramani ya hatua kabla ya kuendesha kitu chochote

Kila hatua inatumia sera yake, kwa hiyo matokeo yanayofanya kazi upande mmoja hayasemi chochote kuhusu upande mwingine. Programu huchagua lengwa na kitatuzi, huduma ya kunasa huamua trafiki ipi inaingia kwenye relay, relay hupeleka kwenye soketi za mwenyeji, na uelekezaji pamoja na VPN ya mwenyeji huamua anwani ambayo lengwa huiona mwishoni.

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

Mteja mmoja tu wa huduma ya VPN anaweza kushikilia jukumu la unasa wa simu kwa wakati mmoja, kwa hiyo programu ya pili ya kawaida ya VPN haijirundiki juu ya relay. Ikiwa VPN ni ya kompyuta, huduma ya unasa ni kiungo cha ufikiaji kuelekea kompyuta hiyo, si uthibitisho kwamba handaki ya mbali tayari inalinda matokeo.

Tayarisha relay kabla ya kugusa simu

Gnirehtet ni mfano ulioandikwa wa usanifu huu: mteja wa huduma ya VPN bila root kwenye simu pamoja na relay inayobebwa kupitia ADB kwenye mwenyeji, ikisaidia TCP na UDP juu ya IPv4. Hifadhi yake pia inasema mradi hauhudumiwi kwa bidii tena, kwa hiyo uchukulie kama usanifu wa marejeleo na chombo kinachofanya kazi kwa maabara, si kama bidhaa inayotunzwa ya kusawazisha kwenye kundi linalosimamiwa.

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

Endesha adb devices kwanza. Simu ambayo haijakubali ufunguo wa utatuzi wa mwenyeji huripotiwa kama isiyoruhusiwa, na relay haitaunganishwa hadi ombi kwenye kifaa likubaliwe. gnirehtet run husakinisha mteja, huanzisha relay na huwezesha unasa; kwenye toleo linalotenganisha hatua, tumia amri ndogo zilizoandikwa install, relay na start badala yake.

Ufikiaji wa ADB ni uhusiano wa udhibiti wa kifaa, si mpangilio wa mtandao. Idhinisha kompyuta unayoidhibiti peke yake, na panga kubatilisha idhini hiyo kazi ikikamilika.

Rudisha VPN ya mwenyeji kwenye njia

Relay ni mchakato wa kawaida wa mwenyeji, kwa hiyo miunganisho yake inayofuata hufuata jedwali la uelekezaji la mwenyeji. Wasifu wa handaki kamili huibeba; handaki iliyogawanywa inaweza isibebe. Ikiwa VPN ya mwenyeji inatumia vidhibiti kwa kila programu, ongeza faili binary ya relay kwenye seti inayoruhusiwa, vinginevyo relay itaendelea kutumia kiolesura halisi wakati kivinjari kinaonekana kikiwa kimefungwa.

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

Endesha amri mbili za kwanza kabla na baada ya kuunganisha VPN ya mwenyeji. Ikiwa anwani haibadiliki, relay haiko kwenye handaki, chochote dirisha la mteja linachosema. Handaki ya faragha peke yake pia huacha malengo ya umma kwenye njia ya kawaida ya kutoka ya mwenyeji, ambayo inaonekana kama uvujaji lakini ni sera uliyoweka.

DNS hutatuliwa kwenye mwenyeji kwa trafiki inayopita kwenye relay, kwa hiyo kitatuzi cha mwenyeji huamua seva ipi inaona majina. Mpangilio wa DNS ya faragha kwenye simu hauvuki relay, na jaribio la kitatuzi upande wa simu halitaelezea utafutaji wa mwenyeji.

Thibitisha kila hatua kivyake

Ukaguzi tatu, kwa mpangilio huu: simu inafikia relay, relay inafikia lengwa chini ya sera ya mwenyeji, na programu hutatua na kutumia lengwa hilo ipasavyo. Simama kwenye kushindwa kwa kwanza badala ya kupakia upya kurasa na kubahatisha.

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

Ingizo la mtandao wa VPN kwenye dampu ya muunganisho linaonyesha huduma ya unasa iko hai; kumbukumbu ya relay yenyewe inaonyesha kama mitiririko inafika. Kukosekana kwa moja yao hutenganisha tatizo kwa usafi: hakuna unasa maana yake upande wa simu, hakuna mitiririko maana yake upande wa mwenyeji.

Kivinjari kinachofanya kazi kwenye mwenyeji kinathibitisha njia ya kivinjari cha mwenyeji, si ile ya mchakato wa relay. Linganisha anwani ambazo kila kimoja huripoti, na jaribu rasilimali ya faragha pamoja na ukurasa wa umma, kwa sababu handaki ya faragha peke yake inaweza kuelekeza kimoja na si kingine.

Bomoa na uchague tabia ya kushindwa

Kurudisha ni sehemu ya kitabu. Simamisha na uondoe relay, ondoa usakinishaji wa mteja wa unasa, na ubatilishe idhini ya utatuzi wa mwenyeji kwenye chaguo za msanidi wa simu kazi ikikamilika.

gnirehtet stop
gnirehtet uninstall
adb kill-server

Amua simu ifanye nini relay inapotoweka. Bila uchaguzi wa wazi inaweza kurudi kwenye data ya simu na kuvujisha trafiki uliyokuwa ukijaribu kuelekeza, kwa hiyo weka kwa makusudi tabia ya kuzuia miunganisho au sera ya VPN na ujaribu uboaji kabla ya kuitegemea.

Andika mwenyeji aliyedhinishwa, toleo la relay, sera ya handaki ya mwenyeji na hatua za uboaji. Rekodi hiyo ndiyo inayofanya usanidi ujao wa tethering ya kinyume urudiwe badala ya mchana mwingine wa kugundua upya.

Makala zinazohusiana