Programu ya Android inakataa kufanya kazi kupitia VPN: tabaka gani huamua
Programu inaweza kukataa VPN kwa sababu ya ukaguzi wa ndani wa usafirishaji, kanuni ya anwani upande wa seva au sera yake yenyewe. Tambua tofauti ya hizi tatu kabla ya kubadilisha njia ya kutoka.
Wakati programu ya Android inaacha kufanya kazi mara tu handaki linapopanda, vitu vitatu tofauti vinaweza kuwajibika, na hivyo huzalisha hitilafu zinazofanana. Programu inaweza kusoma hali ya mtandao ya simu yenyewe na kukataa kienyeji. Seva inaweza kuainisha anwani unayotokea na kuikataa. Au kukataa kunaweza kusihusiane kabisa na VPN. Mpangilio ulio hapa chini hukusanya ushahidi kabla ya kubadilisha chochote, kwa sababu kubadilisha njia ya kutoka ni hatua ghali zaidi na isiyowezekana zaidi kusaidia ikiwa ukaguzi ni wa kienyeji.
Hatua 1: gundua ni lini programu inakataa
Muda ni kitofautishaji cha kwanza. Futa akiba ya kumbukumbu, zalisha hitilafu tena na uangalie kile programu ilifanya kabla ya kulalamika:
adb logcat -c
# reproduce the failure in the app
adb logcat -d | grep -iE 'vpn|network|connect|http' | tail -60
Ikiwa programu inakataa kabla ya jaribio lolote la ombi la kutoka, una shughuli na uamuzi wa kienyeji. Ikiwa inaunganisha, inatuma kitu na kisha kuonyesha hitilafu, kukataa kulitoka upande mwingine. Ikiwa programu inashindwa vivyo hivyo na handaki imezimwa, VPN haikuwa kigezo kamwe.
Chukua muda huo kama ushahidi, si kama uthibitisho. Programu inaweza kucheza jibu lililohifadhiwa, na maombi ya nyuma yanaweza kuwa yalifanikiwa au yalishindwa kabla ya wewe kuangalia. Andika alama za muda za ombi la mwisho lililofanikiwa na hitilafu, si tu wakati ujumbe ulipoonekana.
Hatua 2: soma mtazamo wa simu yenyewe kuhusu mtandao
Android inaonyesha hali ya VPN kama uwezo wa mtandao, kwa hiyo programu haihitaji orodha ya watoa huduma wa kibiashara ili kutambua handaki hai. Inauliza huduma ya muunganisho mtandao wa sasa ni upi, na jibu linajumuisha biti ya usafirishaji wa VPN:
val cm = context.getSystemService(ConnectivityManager::class.java)
val caps = cm.getNetworkCapabilities(cm.activeNetwork)
val onVpn = caps?.hasTransport(NetworkCapabilities.TRANSPORT_VPN) == true
Ukaguzi huo ni wa kienyeji na wa bei nafuu, na unaeleza tabaka zima la ripoti za "programu hii haifanyi kazi kupitia VPN" bila uainishaji wowote wa mbali. Kile programu inaweza kuona bado kinategemea muktadha wake wa mtandao, kwa hiyo usidhani kila programu hukagua kila wasifu kwenye kifaa.
Kutoka kituo cha kazi unaweza kuona hali hiyo hiyo kwenye kifaa cha majaribio kwa adb shell dumpsys connectivity na kwa kutafuta ingizo la mtandao wa VPN. Linganisha uendeshaji handaki ikiwa juu na ule ikiwa chini, na uhifadhi matokeo yote mawili.
Hatua 3: soma kile seva inachokiona kwa hakika
Mwangalizi mwingine ni huduma. Inaona anwani ya chanzo inayofika, na inaweza kuchukua hatua kwa anwani, mtandao wa mwenyeji ulio nyuma yake, eneo, mtoa huduma au ishara zinazohusiana na akaunti na kifaa. Hakuna kati ya hizo ni utambulisho wa kipekee, na anwani zinazoshirikiwa hufanya vizuizi vya pembeni kuwa kawaida: anwani moja iliyozuiwa inaweza kuwaondoa watumiaji wasiohusiana nyuma ya tafsiri hiyo hiyo.
Pata anwani kwa njia ile ile ambayo programu inatumia, si kutoka kwa kivinjari kwenye kompyuta ya mkononi. Kwenye simu, ombi rahisi kwa huduma ya mwangwi wa anwani linaonyesha kile upande wa mbali unapokea, na kulinganisha na ombi kupitia mtandao wa simu kunakuambia ikiwa anwani ilibadilika kabisa.
Ikiwa programu inafanya kazi kupitia mtandao wa simu na inashindwa kupitia handaki na akaunti ile ile, kukataa kuko upande wa mbali au katika sera ya programu yenyewe. Ikiwa inashindwa katika hali zote mbili, VPN si kitofautishi na unapaswa kuacha kujaribu vituo vya mwisho.
Hatua 4: oanisha ushahidi na moja ya hukumu tatu
Mchanganyiko tatu hufunika karibu kila ripoti. Kukataa bila jaribio la kutoka wakati handaki ikiwa hai kunaonyesha ukaguzi wa kienyeji wa usafirishaji. Ombi linalotoka na kurudi na hitilafu, muda kupita kwenye mwenyeji maalum au ujumbe wa eneo kunaonyesha upande wa mbali. Hitilafu inayojirudia kwenye mtandao wa simu bila handaki inaonyesha akaunti, toleo la programu au sera ya huduma yenyewe, na hakuna mabadiliko ya VPN yatakayoihamisha.
Andika hukumu pamoja na ushahidi ulioizalisha. Thamani ya hatua hii ni kwamba inasimamisha mzunguko ambapo mtu hubadilisha nodi za kutoka mara nne ili kurekebisha ukaguzi unaoendeshwa kwenye simu yenyewe.
Pia huweka madai kuwa ya kweli. Kujihudumia mwenyewe hubadilisha kituo cha mwisho na njia yake ya kutoka mtandaoni; haifanyi Android isahau kuwa mtandao wa VPN uko hai na haitoi hakikisho la kukubalika na huduma inayoainisha anwani. Kichujio cha kienyeji kinaweza kuchochea kwenye mtandao wa VPN unaomiliki wewe kwa urahisi kama ilivyo kwa ule wa kibiashara.
Hatua 5: chukua njia inayoungwa mkono na uithibitishe
Anza na sera iliyoandikwa ya bidhaa na mmiliki wa msaada wake. Tuma toleo la mteja, ujumbe kamili na kipindi chembamba cha hitilafu; usitume nakala kamili za trafiki au vitambulisho eti kuthibitisha kuwa hitilafu ipo.
Ikiwa huduma inaruhusu ufikiaji wa moja kwa moja na sera ya kifaa inaruhusu, kutenga programu moja ndiyo utaratibu unaoungwa mkono, na kwa makusudi huiondoa programu hiyo kwenye handaki badala ya kuficha handaki. Trafiki ya programu kisha hutoka kwa njia yake yenyewe, jambo ambalo ni uamuzi wa sera ambao mtu anapaswa kuwajibika. Katika mpangilio wa kuzuia bila VPN, programu iliyotengwa inaweza kupoteza muunganisho, kwa hiyo jaribu mchanganyiko huo kabla ya kuahidi unafanya kazi.
Baada ya mabadiliko yoyote, rudia jaribio la muda la hatua ya kwanza, thibitisha programu inafanya kazi, na thibitisha programu nyingine zote bado zinatumia handaki. Kisha rejesha mpangilio wa awali na uangalie ikiwa hitilafu inarudi, kwa sababu marekebisho ambayo huwezi kuzalisha tena ni bahati mbaya utakayokutana nayo tena.