Android tətbiqi VPN üzərində işləmir: hansı qat qərar verir
Tətbiq VPN-i yerli nəqliyyat yoxlaması, server tərəfindəki ünvan qaydası və ya öz siyasəti ilə rədd edə bilər. Çıxışları dəyişməzdən əvvəl bu üç halı ayırın.
Android tətbiqi tunel qalxan anda işləməyi dayandırdıqda, buna üç fərqli səbəb günahkar ola bilər və onlar oxşar görünən nasazlıqlar yaradır. Tətbiq telefonun öz şəbəkə vəziyyətini oxuyub yerli olaraq imtina edə bilər. Server gəldiyiniz ünvanı təsnif edib onu rədd edə bilər. Yoxsa imtina VPN ilə heç bir əlaqəsi olmaya bilər. Aşağıdakı ardıcıllıq heç nəyi dəyişməzdən əvvəl sübut toplayır, çünki çıxışı dəyişmək ən bahalı addımdır və yoxlama yerli olduqda kömək etmə ehtimalı ən az olan addımdır.
Addım 1: tətbiqin nə vaxt imtina etdiyini öyrənin
Vaxt ilk fərqləndiricidir. Jurnal buferini təmizləyin, nasazlığı təkrar yaradın və tətbiqin şikayət etməzdən əvvəl nə etdiyinə baxın:
adb logcat -c
# reproduce the failure in the app
adb logcat -d | grep -iE 'vpn|network|connect|http' | tail -60
Əgər tətbiq hər hansı xarici sorğu cəhdindən əvvəl imtina edirsə, qarşınızda yerli qərar var. Əgər qoşulur, nəsə göndərir və sonra xəta göstərirsə, rədd digər tərəfdən gəlib. Əgər tətbiq tunel bağlı halda eyni cür uğursuz olursa, VPN heç vaxt dəyişən olmayıb.
Bu vaxta sübut kimi yanaşın, təsdiq kimi yox. Tətbiq keşlənmiş cavabı təkrar oynada bilər və arxa plan sorğuları siz baxmazdan əvvəl uğurlu və ya uğursuz ola bilərdi. Yalnız mesajın göründüyü anı deyil, son uğurlu sorğunun və xətanın vaxt damğalarını qeyd edin.
Addım 2: telefonun şəbəkəyə öz baxışını oxuyun
Android VPN vəziyyətini şəbəkə imkanı kimi açır, buna görə tunelin aktiv olduğunu görmək üçün tətbiqə kommersiya provayderlərinin siyahısı lazım deyil. O, qoşulma xidmətindən cari şəbəkənin nə olduğunu soruşur və cavab VPN nəqliyyat bitini ehtiva edir:
val cm = context.getSystemService(ConnectivityManager::class.java)
val caps = cm.getNetworkCapabilities(cm.activeNetwork)
val onVpn = caps?.hasTransport(NetworkCapabilities.TRANSPORT_VPN) == true
Bu yoxlama yerli və ucuzdur və heç bir uzaq təsnifat olmadan “bu tətbiq VPN üzərində işləmir” tipli bütün hesabat sinfini izah edir. Tətbiqin görə bildikləri hələ də öz şəbəkə kontekstindən asılıdır, ona görə hər tətbiqin cihazdakı hər profili yoxladığını düşünməyin.
İş stansiyasından eyni vəziyyəti sınaq cihazında adb shell dumpsys connectivity ilə və VPN şəbəkə qeydini axtarmaqla görə bilərsiniz. Tunelin açıq olduğu bir işə tunelin bağlı olduğu işi müqayisə edin və hər iki çıxışı saxlayın.
Addım 3: serverin həqiqətən nə gördüyünü oxuyun
Digər müşahidəçi xidmətdir. O, gələn mənbə ünvanını görür və ünvana, onun arxasındakı hostinq şəbəkəsinə, regiona, operatora və ya hesabla və cihazla bağlı siqnallara görə hərəkət edə bilər. Bunların heç biri unikal kimlik deyil və paylaşılan ünvanlama yan təsirli blokları normal edir: bir məhdud ünvan eyni tərcümənin arxasındakı əlaqəsiz istifadəçiləri də sıradan çıxara bilər.
Ünvanı tətbiqin istifadə etdiyi eyni yoldan alın, noutbukdakı brauzerdən yox. Telefonda ünvan-əks-səda xidmətinə sadə sorğu uzaq tərəfin nə aldığını göstərir və bunu mobil şəbəkə üzərindən edilən sorğu ilə müqayisə etmək ünvanın ümumiyyətlə dəyişib-dəyişmədiyini bildirir.
Əgər tətbiq mobil şəbəkə üzərində işləyir və eyni hesabla tunel üzərində uğursuz olursa, rədd uzaq tərəfdə və ya tətbiqin öz siyasətindədir. Əgər hər ikisində uğursuz olursa, VPN fərqləndirici deyil və son nöqtələri yoxlamağı dayandırmalısınız.
Addım 4: sübutu üç hökmdən birinə uyğunlaşdırın
Üç kombinasiya demək olar ki, bütün hesabatları əhatə edir. Tunel aktiv ikən heç bir xarici cəhd olmadan imtina yerli nəqliyyat yoxlamasına işarə edir. Xaricə çıxıb xəta, müəyyən hostda vaxt aşımı və ya region mesajı ilə qayıdan sorğu uzaq tərəfə işarə edir. Tunel olmadan mobil şəbəkədə təkrarlanan nasazlıq hesaba, tətbiq versiyasına və ya xidmətin öz siyasətinə işarə edir və heç bir VPN dəyişikliyi onu tərpətməyəcək.
Hökmü onu doğuran sübutla birlikdə yazın. Bu addımın dəyəri ondadır ki, o, telefonun özündə işləyən yoxlamanı düzəltmək üçün kiminsə dörd dəfə çıxış qovşağını dəyişdiyi dövrəni dayandırır.
Bu həm də iddiaları dürüst saxlayır. Öz serverinizi saxlamaq son nöqtəni və onun internet çıxışını dəyişir; Android-in VPN şəbəkəsinin aktiv olduğunu unutmasına səbəb olmur və ünvanları təsnif edən xidmətin qəbulunu zəmanət etmir. Yerli filtr sizin sahib olduğunuz VPN şəbəkəsində də kommersiya şəbəkəsindəki qədər asanlıqla işə düşə bilər.
Addım 5: dəstəklənən yolu tutun və onu yoxlayın
Məhsulun sənədləşdirilmiş siyasətindən və onun dəstək sahibindən başlayın. Müştəri versiyasını, dəqiq mesajı və dar nasazlıq pəncərəsini göndərin; sadəcə xətanın mövcud olduğunu sübut etmək üçün tam trafik qeydlərini və ya etimadnamələri göndərməyin.
Əgər xidmət birbaşa girişə icazə verirsə və cihaz siyasəti buna imkan verirsə, hər tətbiq üzrə istisna dəstəklənən mexanizmdir və o, tuneli gizlətmək əvəzinə həmin tətbiqi tuneldən qəsdən çıxarır. Tətbiqin trafiki sonra öz yolu ilə çıxır ki, bu da kiminsə sahib olmalı olduğu siyasət qərarıdır. VPN olmadan bloklayan konfiqurasiyada istisna edilmiş tətbiq sadəcə bağlantını itirə bilər, ona görə işləyəcəyini vəd etməzdən əvvəl bu kombinasiyanı sınaqdan keçirin.
Hər hansı dəyişiklikdən sonra birinci addımın vaxt testini təkrarlayın, tətbiqin işlədiyini təsdiqləyin və bütün digər tətbiqlərin hələ də tuneldən istifadə etdiyini təsdiqləyin. Sonra əvvəlki konfiqurasiyanı bərpa edin və nasazlığın qayıtdığını yoxlayın, çünki təkrar yarada bilmədiyiniz düzəliş yenidən rastlaşacağınız təsadüfdür.