Android VPN firewall-unuzda bir tətbiqi bloklayırsınız, tətbiq işləməyi dayandırır, istifadə sətri isə qalxmağa davam edir. Cəlbedici nəticə blokun sızdığı və ya sayğacın xarab olduğu fikridir. Heç biri zəruri deyil. İstifadə qeydi deyir ki, baytlar hansısa müşahidə nöqtəsində həmin kimliyə aid edilib; uzaq xidmətin sorğunu qəbul edib-etmədiyi barədə heç nə demir. Hansı sərhədin ölçüldüyünü və hansı kimliyə yazıldığını bildikdən sonra iki müşahidə bir-birinə zidd olmaqdan çıxır.

Sayğac çatdırılmanı deyil, baytları ölçür

Android trafiki UID-ə aid edir və hər iki istiqamətdə sayır, bunu isə tətbiqin sorğusunun uğur qazandığı anda deyil, interfeys sərhəddində edir.

Rədd edilən bağlantı cəhdi yenə də paketlər hərəkət etdirir: SYN, reset və ya onları izləyən yenidən ötürmələr, üstəlik hər ikisindən əvvəl gələn DNS sorğusu. Heç nə çatdırılmasa da bu baytlar mövcuddur və bəzi yollarda hər hansı filtr onlarla nə edəcəyinə qərar verməzdən əvvəl sayılır.

Buna görə bloklanmış tətbiqin sətri hər sorğu uğursuz olsa da böyüyə bilər. Sayğac «bu kimliyə nə qədər bayt aid edildi» sualına cavab verir, «bu kimlik internetə çatdımı» sualına yox. Qrafik qəbul edilmiş axını nəzakətlə rədd edilmiş əl sıxışmasından ayıra bilməz, hər iki istiqaməti birlikdə toplayan cəm də ayıra bilməz.

Aidiyyət ikonanı deyil, UID-i izləyir

Sətir hər UID üzrədir və bir UID-i birdən çox paket paylaşa bilər, görünən tətbiq isə işi öz kimliyi altında işləyən ayrı komponentə ötürə bilər. Ortaq WebView prosesinin çəkdiyi brauzer nişanı, fon sinxronizasiya xidməti və ya əsas tətbiqlə yanaşı quraşdırılmış yoldaş paket — hamısı istifadə ekranının gözləmədiyiniz ad altında, ya da blokladığınız tətbiq altında göstərə biləcəyi trafik yaradır. Bloklanmış paketlə onun sorğularını daşıyan köməkçi iki fərqli subyektdir və qayda onlardan yalnız birini əhatə edirdi.

Rəqəmlər səhv görünəndə etiketi deyil, UID-i müqayisə edin. İstifadə API-si UID ilə sorğulanır və adb shell dumpsys package <package> | grep userId= müqayisə ediləcək rəqəmi çap edir, yəni eyni UID-li iki giriş sayğac baxımından eyni kimlikdir.

Vaxt pəncərəsi qaydanızdan əvvələ aid ola bilər

İstifadə məlumatları canlı yayımlanmır, qruplarda toplanır və sorğulanır. Gündəlik cəm bloku aktivləşdirməzdən əvvəlki dəqiqələri, əvvəlki saatdan qalan fon sinxronizasiyasını və ya artıq yolda olan trafiki əhatə edə bilər. Yığılmış cəmi bir rədd edilmiş sorğu ilə müqayisə edib fərqi sızma adlandırmaq ölçmə xətasıdır, firewall tapıntısı deyil.

Daha qısa pəncərə və təzə başlanğıc istifadə edin. Qaydanı dəyişdiyiniz vaxt möhürünü qeyd edin, bir toplama intervalı gözləyin, sonra yalnız ondan sonrakı məlumatlara baxın. Cəm qaydadan sonra başlayan pəncərədə artmağa davam edirsə, araşdıracağınız bir şey var; artmağı dayandırırsa, əvvəlki artım göstərilən tarix idi.

VPN xidməti sizin qurduğunuz olmaya bilər

VPN firewall yalnız öz xidmətinin daşıdığı trafiki görür. Başqa bir VPN tətbiqi başlayıb aktiv bağlantını götürərsə, filtriniz artıq yolda deyil, halbuki onun interfeysi parametrlərdə hələ də var. Tətbiq üzrə yan keçmə siyahıları bunu qəsdən edir və tətbiqi istisna edən profil, tətbiq sonra işləyəndə sızma deyil.

IPv4, IPv6 və DNS də fərqlənə bilər. IPv4 ilə işləyən filtr IPv6-nı və ya özəl DNS həlledicisini kənarda qoya bilər, beləliklə tətbiqin trafikinin bir hissəsi qaydalarınızın heç vaxt təsvir etmədiyi yolla gedir. Heç nəyi yenidən yazmazdan əvvəl VPN-ə hazırda hansı tətbiqin sahib olduğunu və istisna siyahısının nə dediyini yoxlayın:

adb shell settings get secure always_on_vpn_app
adb shell dumpsys connectivity
adb shell dumpsys netstats detail

Bir təzə sorğu sınaqdan keçirin və dörd fakt qeyd edin

Zərərsiz bir sorğu seçin, bir dəfə edin və dörd fakt yazın: qüvvədə olan qayda, tətbiqin UID-i, şəbəkə vəziyyəti və vaxt. Sonra filtrinizin axını qeyd edib-etmədiyini və təyinatın və ya şlüzün eyni bağlantını görüb-görmədiyini yoxlayın. Hər iki tərəfdə müəyyən edilmiş bir axın sübutdur; ümumi cəm deyil.

Müdafiə oluna bilən nəticə nəyin rədd edildiyini və hansı müşahidənin bunu təsdiqlədiyini adlandırır. «Sayğac qalxdı» tapıntı deyil, «bütün istifadə sayğacları saxtadır» da deyil. OSI qatı şüarı bunu həll etmir: dürüst cavab budur ki, sayğac da, blok da eyni vaxtda doğru ola bilər, halbuki fərqli şeyləri təsvir edirlər. Android-in NetworkStatsManager sənədi bu qrupların necə sorğulandığını və aid edildiyini sənədləşdirir.

Əlaqəli məqalələr