Telefon tətbiqi və uzaq server fərqli faktlarla başlayır və heç biri digərininkini borc ala bilməz. Tətbiq istifadə etdiyi şəbəkə barədə əməliyyat sistemindən soruşa bilər, halbuki server yalnız bağlantı üzərindən gələni bilir. Öz son nöqtənizi işlətmək ikincini yenidən yazır və birincini toxunulmaz qoyur. Onlardan hansının sualınıza cavab verməsi sualın özündən asılıdır.

İki müşahidə nöqtəsi, iki növ sübut

Yerli sübut cihazı təsvir edir. Trafiki daşıyan interfeysi, platformanın bildirdiyi nəqli və zəng edən tətbiqin sorğu verə biləcəyini əhatə edir. Uzaq sübut bağlantını təsvir edir: mənbə ünvanı, protokol, vaxt və tətbiqin göndərməyi seçdiyi hər şey. Heç bir müşahidə nöqtəsi digərini tam əhatə etmir.

İkisini qarışdırmaq dəqiq səslənən və yoxlanıla bilməyən iddialar yaradır. Marker cihazdakı şəbəkə obyekti haqqında nəyisə sübut edir, uzaq xidmətin sorğunu necə təsnif etdiyi haqqında yox.

Aşkarlama barədə mübahisə etməzdən əvvəl sualın hansı nöqtəyə aid olduğunu yazın. Məsələ müəyyən bir tətbiqin tunelin aktiv olduğunu bilə bilməsidir, yoxsa xidmətin sorğunun haradan gəldiyini çıxara bilməsidir? Bunlar ayrı araşdırmalardır və birinə verilən cavab digəri haqqında heç nə demir.

Yerli platforma interfeysi nəyi bildirə bilər

Android müəyyən bir marker təqdim edir. NetworkCapabilities obyekti TRANSPORT_VPN-ni bildirə bilər, hasTransport isə həmin nəqlin obyektdə olub-olmadığını yoxlayır. Tətbiq obyekti bağlantı xidmətindən alır və oxuyur, şəbəkə vəziyyəti icazəsinə tabedir.

Nəticə yerli platforma məlumatıdır, provayderin ünvan diapazonlarına sorğu deyil. Zəng edən tətbiqin istifadə etdiyi şəbəkəni təsvir edir.

İki məhdudiyyət vacibdir. Tətbiqi xaric edən split-tunnel qaydası eyni telefonda həmkarınızın gördüyündən fərqli cavab verə bilər, çünki tətbiq başqa yerə bağlanmış ola bilər. Marker həm də ona görə mövcuddur ki, ƏS VPN interfeyslərini modelləşdirir, hər hansı tətbiqin onu toplamasına görə deyil. Tətbiqin sahəni oxuması, ötürməsi və ya nəzərə almaması həmin tətbiqin xassəsidir. Bu sual üçün yalnız manifest və sənədlər etibarlı mənbədir.

adb shell dumpsys connectivity | grep -i -m5 vpn

Uzaq xidmət nə görə bilər

Server bağlantının mənbə ünvanını, nəqli və vaxtı görür və ünvanı registr və ya marşrut məlumatı ilə zənginləşdirə bilər. Tətbiqin göndərdiyi hər şeyi də ala bilər, o cümlədən tətbiq istədikdə və istifadəçi razılaşdıqda məkanı. Bu kanallar ayrıdır və yalnız biri ünvan sorğusuna bənzəyir.

Hostinq provayderinə qeydiyyatdan keçmiş ünvan tunelə işarə edir, yaşayış şəbəkəsinə qeydiyyatdan keçmiş ünvan isə ev bağlantısına işarə edir. İkisi də statistik işarədir, cihaz haqqında fakt deyil.

Yaşayış ünvanı şəxsi həmin ünvana yerləşdirmir, hostinq ünvanı isə operatoru və ya ölkəni adlandırmır. Çıxarışı qətilik kimi qəbul edən xidmət bəzən səhv olacaq və bunu aşkarlaya bilməyəcək. Tələb evristika deyil etibarlılıqdırsa, ünvan məlumatı bunu verə bilməz və bunu deyən dizayn təxmini gizlədəndən daha dürüstdür.

SübutNəyə cavab verirNəyi göstərə bilməz
Yerli nəql markeriBu şəbəkə obyektinin VPN olub-olmadığıÇıxışı kimin idarə etdiyi və ya cihazın harada olduğu
Uzaq mənbə ünvanıXidmətə hansı ünvanın çatdığıCihazın tunel də daşıyıb-daşımadığı
Tətbiq yüküTətbiqin nə göndərməyi seçdiyiTətbiqin göndərmədiyi hər şey

Niyə özünün yerləşdirdiyi çıxış yalnız bir tərəfi dəyişir

Öz son nöqtənizi işlətmək uzaq xidmətin gördüyü mənbə ünvanını dəyişir və bu, ünvanı həmin xidmətin kommersiya provayderləri ilə əlaqələndirdiyi diapazonlardan kənara çıxara bilər. Yerli şəbəkə modelində heç nə dəyişmir, çünki tunel tunel olaraq qalır və ƏS hələ də onu bildirir.

Sübutun bir tərəfi hərəkət edir, digəri sabit qalır. Gözləntilər aralarındakı boşluqda pozulur.

Brauzer öz interfeysləri və məhdudiyyətləri olan üçüncü haldır. Veb məzmun yerli imkanlar obyektini oxuya bilməz və mobil ƏS funksiyasını veb səhifə üçün mövcud saymaq kateqoriya səhvidir. Sual veb saytla bağlıdırsa, platforma API-sini hərfi köçürmək yerinə veb saytın həqiqətən nə əldə edə bildiyini öyrənin.

Verdiyiniz sualla qərar verin

Sual müəyyən bir tətbiqin tunel vəziyyətini müşahidə edə bilməsidirsə, platforma interfeysi baxılacaq düzgün yerdir və cavab həmin tətbiqin kodunda və icazələrindədir. Sual xidmətin nə çıxara bildiyidirsə, bağlantı metadatası sübutdur. Hüquqi və ya müqavilə sualını heç biri həll etmir.

Heç nə toplamazdan əvvəl sualı bir cümlə ilə adlandırın. Həmin cümlə hansı müşahidə nöqtəsinin vacib olduğunu müəyyən edir və araşdırmanın başqa mübahisəyə sürüşməsinin qarşısını alır.

Hər müşahidəni bildirdiyiniz zaman mənbəyinə görə etiketləyin, çünki etiketsiz iddia yoxlanıla bilməz. Yerli marker də, ünvan çıxarışı da faydalıdır və heç biri qəti deyil, buna görə onları bir hökmdə birləşdirmək səhvdir.

Xidmət icazəli bağlantını rədd etdikdə, siqnalı gizlətmək üçün yerli parametri dəyişmək əvəzinə onun dəstəklədiyi baxış yolundan istifadə edin. Bir müşahidənin silinməsi digərlərinin yox olduğunu heç vaxt sübut etmir.

Əlaqəli məqalələr