Manhajar Android tana warware sunaye a wajen VPN: jerin duba na ɗaurewa
Android na iya warware suna ta hanyar sadarwar da aka saba yayin da VPN ke aiki. Ka ɗaure tsarin aikin da hanyar sadarwar VPN sannan ka tabbatar da wane resolver manhajar ta yi amfani da shi a zahiri.
Wata manhaja ta Android ta kasa warware wani suna na cikin gida yayin da burauzar abokin ciniki na VPN ke samun sa, kuma wannan ginin guda ɗaya yana aiki a wata waya. URL ɗin ba shi ne abin da ya canza ba. Abin da ya canza shi ne wace hanyar sadarwa aka ba tsarin manhajar izinin amfani da ita wajen warware suna, kuma Android ba ya ba da tabbacin cewa VPN ɗin da ke aiki shi ne wanda sockets ɗinka ke amfani da shi. Yi waɗannan bincike bisa tsari kuma ka tsaya lokacin da hoton resolver ɗin ya saɓa wa tunaninka.
Mataki 1: Tabbatar da wace hanyar sadarwa manhajar take a kai
Karanta ra'ayin manhajar kanta maimakon sandar matsayi. Daga ConnectivityManager, sami hanyar sadarwar da ke aiki, LinkProperties nata, jerin DNS servers da saitin DNS na sirri. Idan jerin ya ƙunshi resolver na VPN, manhajar tana da hanya zuwa gare shi; idan ya ƙunshi resolver na Wi-Fi, ramin ba shi ne hanyar sadarwa ta asali ga wannan tsari ba.
Alamar VPN tana faɗin kawai akwai rami. Ba ta faɗin cewa an ɗaure tsarin manhajar da shi ba, kuma Android ba koyaushe yake tafiyar da warware suna ta hanyar sadarwar da ta bayyana aiki ba. Manhajojin VPN na gida da ke tura zuwa wata na'ura, hanyoyin Wi-Fi marasa intanet da ginannun masana'anta duk suna iya barin manhaja tana tambayar resolver na asali maimakon servers na rami.
Mataki 2: Nemi jigilar VPN ka ɗaure tsari
Lokacin da manhajar dole ta yi amfani da resolver na rami, nemi hanyar sadarwa mai jigilar VPN ka ɗaure tsarin a cikin callback, domin lambar kada ta yi hasashen lokacin da hanyar sadarwar za ta bayyana:
val request = NetworkRequest.Builder()
.addTransportType(NetworkCapabilities.TRANSPORT_VPN)
.build()
connectivityManager.requestNetwork(request, object : NetworkCallback() {
override fun onAvailable(network: Network) {
val bound = connectivityManager.bindProcessToNetwork(network)
Log.i(TAG, "bound to VPN network: " + bound)
}
})
Kiran yana canza hanyar sadarwar asali ta dukan tsari, don haka kowane socket da aka ƙirƙira bayan haka yana amfani da ita. Sockets da suka riga sun wanzu suna riƙe hanyar sadarwar da aka ƙirƙira su a ciki, wanda shi ya sa tafkin haɗi da aka buɗe kafin ɗaurewar zai iya ci gaba da warware ta tsohuwar hanya. Ƙimar da aka mayar boolean ce, kuma sakamako na ƙarya yana nufin ɗaurewar ba ta faru ba; sake gwadawa da ɗan jinkiri ka rubuta duka ƙoƙarin biyu.
Mataki 3: Iyakance ɗaurewar ga abin da yake buƙata
Ɗaurewar dukan tsari ba ta da hankali. Telemetry, duba sabuntawa da SDK na ɓangare na uku su ma suna ƙaura zuwa rami, kuma idan ramin ba shi da intanet suna fara gazawa. Don buƙata ɗaya, yi amfani da masana'antar socket ta hanyar sadarwar ka riƙe na asali na na'urar ga duk sauran. Zaɓi tsari ɗaya da gangan: ɗaurewar ƙunƙunta ga kowane haɗi, ko ɗaurewar tsari tare da cire ɗaurewar a fili lokacin da VPN ya ɓace.
Siffofi biyu na resolver na iya kayar da ɗaurewar ba tare da wata kuskure ba. DNS na sirri a yanayin tsauri yana tura tambayoyi zuwa wani DoT server mai suna maimakon resolver na hanyar sadarwa, kuma manhajar da ke ɗauke da nata abokin ciniki na DNS-over-HTTPS tana ƙetare resolver na tsarin gaba ɗaya. Duba duka biyu kafin ka yanke shawarar cewa ɗaurewar ta kasa. Tambayar da ba ta taɓa isa DNS server na VPN ba ba za ta bayyana a kowane log na gefen rami ba.
Mataki 4: Kada ka amince da ƙuntatawar CONNECTED
NetworkType.CONNECTED na WorkManager yana nufin an haɗa wata hanyar sadarwa, kuma jigilar VPN tana cika shi ko da hanyar Wi-Fi ko salula ta ƙasa ta tafi. Aikin yana gudana, kowace buƙata tana gazawa, kuma manufar sake gwadawa tana mai da shi guguwa da ke kama da kuskuren tsarawa. Ramin hanyar sadarwa ne; ƙuntatawar ba ta taɓa zama duba intanet ba.
Duba ƙarfin da aikin yake buƙata da gaske, kamar ingantaccen shiga intanet, ka riƙe manufar sake gwadawa mai iyaka tare da komawa baya. Idan aikin yana buƙatar suna na sirri, warware wannan sunan a hanyar sadarwar da aka zaɓa kafin ka yi aikin, ka kasa da sauri da bayyanannen kuskure maimakon sake gwada buƙatar da ba za ta iya yin nasara ba.
Mataki 5: Rubuta shaidar ka sake gwada kewayon
Rubuta nau'ikan jigilar hanyar sadarwar da aka zaɓa, DNS servers daga LinkProperties, ko ɗaurewar ta mayar da gaskiya, da ainihin gazawar buƙata ta farko. Sannan gudanar da suna na sirri da suna na jama'a a ƙarƙashin ɗaurewar guda. Wannan biyun suna nuna ko manhajar ta yi amfani da resolver na rami ko kuma ta koma cikin shiru zuwa na asali na na'urar, wanda shi ne bambancin da mai amfani ke ji.
Maimaita a kan tsohuwar sigar Android da kake tallafawa da kuma wata fitowar ta yanzu. Halin resolver ɗin da ke sa hanyar asali ta yi kama da daidai shi ne ainihin inda na'urori da sigogi ke bambanta, kuma ginin da ya wuce kawai a sabuwar na'urar gwaji ba a tabbatar da shi ba ga kewayon da kake aikawa. adb shell dumpsys connectivity hanya ce mai sauri ta tabbatar da wace hanyoyin sadarwa da ƙarfi na'urar ke bayarwa yayin da kake sake haifar da gazawar.