Një aplikacion pune dështon në një telefon të menaxhuar, dikush kontrollon çelësin e VPN-së, e sheh të ndezur dhe e shpall rrugën të shëndetshme. Këtu ndalen shumica e këtyre diagnozave, dhe është shumë herët: një transport aktiv VPN nuk thotë se kërkesat e këtij aplikacioni e përdorën atë, dhe ndërmjetësi që zbatohet në të vërtetë mund të jetë për aplikacion ose i zgjedhur nga një skedar PAC në vend që të shfaqet në Cilësime. Filloni nga aplikacioni dhe profili konkret që po korrigjoni, më pas lexoni këndvështrimin e vetë platformës për rrugën.

Filloni nga aplikacioni dhe profili i tij

Një aplikacion me shenjë pune zakonisht ekzekutohet në një profil të veçantë me politikën e vet të rrjetit. Një shfletues personal në të njëjtin telefon nuk është provë për të, dhe as një rezultat nga pajisja e një kolegu me menaxhim tjetër. Shënoni se cilit profil i përket aplikacioni përpara se të lexoni ndonjë gjë.

Në Cilësime, listoni zërat e konfiguruar të VPN-së dhe shënoni kujt i përket secili. Në ndërtimet Samsung etiketat e menysë zhvendosen midis versioneve, prandaj përshkruani zërin, jo rrugën drejt tij. Një zë gri ose i menaxhuar i përket atij që administron pajisjen; fikja e tij si eksperiment ndryshon atë që po përpiqeni të matni dhe mund të jetë kundër politikës.

Lexoni gjendjen që raporton platforma

Brenda një aktiviteti ekzistues në mjetet tuaja të mbështetjes, në API 23 ose më vonë, gjendja e rrjetit mund të lexohet pa dërguar asnjë bajt. Thirrja kërkon lejen normale të manifestit ACCESS_NETWORK_STATE për leximin e aftësive.

val cm = getSystemService(android.net.ConnectivityManager::class.java) ?: return
val network = cm.activeNetwork
val caps = network?.let { cm.getNetworkCapabilities(it) }
val hasVpn = caps?.hasTransport(android.net.NetworkCapabilities.TRANSPORT_VPN)
val proxy = cm.defaultProxy

Çdo vlerë i përgjigjet një pyetjeje të ngushtë. Rrjeti aktiv është rrjeti i parazgjedhur për procesin që thërret në atë moment. Kontrolli i aftësive ju tregon nëse ai rrjet i parazgjedhur mbështetet nga VPN. Thirrja e ndërmjetësit raporton ndërmjetësin HTTP të parazgjedhur efektiv, dhe objekti i kthyer mund të përshkruajë ose një ndërmjetës statik ose një skript PAC.

Nëse ju nevojitet pamja për çdo rrjet në vend të asaj të parazgjedhur, lexoni vetitë e lidhjes të të njëjtit rrjet dhe krahasoni me cm.getLinkProperties(network)?.httpProxy. Një ndërmjetës i instaluar nga menaxhimi i pajisjes shfaqet në thirrjen e ndërmjetësit të parazgjedhur dhe jo në vetitë e lidhjes, që është një mënyrë e shpejtë për të dalluar një ndërmjetës të dhënë nga politika nga një i dhënë nga rrjeti.

Mbajeni daljen në kanalin tuaj të mbështetjes dhe jo në një raport publik. Emrat e hosteve të ndërmjetësit, URL-të PAC dhe prapashtesat e brendshme zbulojnë si organizata juaj i jep drejtim trafikut, dhe asnjë prej tyre nuk nevojitet për të përshkruar dështimin.

Interpretoni çdo fushë në mënyrë të ngushtë

Një rrjet null ose një objekt aftësish null do të thotë që gjendja e rrjetit të thirrësit nuk ishte e disponueshme ose ndryshoi gjatë leximit. Kjo nuk do të thotë se nuk ka VPN. Trajtojeni si të panjohur dhe lexoni përsëri pasi aplikacioni të ketë kaluar në plan të parë, dhe jo si një rezultat negativ.

Transporti VPN është më i dobëti ndër pozitivët. Çdo aplikacion që mban një VpnService prodhon një, duke përfshirë një aplikacion lokal filtrimi që nuk e dërgon kurrë trafikun tuaj askund. Pra, një vlerë true thotë se ekziston një rrjet i parazgjedhur i mbështetur nga VPN, jo se është përdorur dalja e organizatës suaj dhe sigurisht jo se ka ndodhur inspektim.

Një ndërmjetës i parazgjedhur null do të thotë që ky API nuk raporton asnjë ndërmjetës HTTP të parazgjedhur për konfigurimin efektiv. Përjashton shumë pak: një aplikacion mund të mbajë cilësimin e vet SOCKS, të zbatojë klientin e vet HTTP ose të drejtohet nga një ndërmjetës në portë për të cilin pajisja nuk mëson kurrë.

PAC është rasti që mund një përgjigje me një vlerë të vetme. Një skript mund të drejtojë një destinacion përmes një ndërmjetësi dhe të dërgojë një tjetër drejtpërdrejt, kështu që dy kërkesa të të njëjtit aplikacion brenda një sekonde mund të marrin rrugë të ndryshme. Dhe një aplikacion që i lidh soketat e tij me një rrjet të zgjedhur, ose thërret bindProcessToNetwork, nuk është fare i detyruar të ndjekë të parazgjedhurin.

Çfarë nuk mund t'ju thotë kjo pamje e çastit

Ky nuk është historik. Asgjë këtu nuk regjistron cilën rrugë mori kërkesa që dështon, dhe një lexim i suksesshëm pas dështimit nuk është provë për dështimin. Nuk është as inventar: ju merrni rrjetin e parazgjedhur të procesit që thërret, jo një listë të lidhjeve private të çdo aplikacioni.

Nuk thotë asgjë as për atë që ndodh mbi soket. Një shtrëngim duarsh TLS që dështon në një pajisje të menaxhuar mund të jetë problem i depove të besimit, një mospërputhje fiksimi ose një emër që ndërmjetësi e refuzon, dhe asnjë prej tyre nuk shfaqet në një lexim të lidhshmërisë.

Kjo është arsyeja pse dy gjysmat kanë rëndësi bashkë: pamja e çastit ngushton ku të shikohet, dhe diagnostika e vetë aplikacionit thotë çfarë dështoi në të vërtetë.

Raportojeni në një formë që një administrator mund ta përdorë

Jepni aplikacionin e prekur, profilin, vulën kohore dhe fazën e saktë që dështoi: zgjidhja e emrave, lidhja TCP, shtrëngimi i duarve TLS ose një status HTTP. Shtoni vlerat e pamjes së çastit ashtu siç u lexuan, me null-t e shkruara si null dhe jo si asgjë. Shënoni nëse aplikacione të tjera në të njëjtin profil dështojnë në të njëjtën mënyrë, gjë që ndan një problem aplikacioni nga një problem rruge në të gjithë profilin.

Pastaj ndaloni dhe lini pronarin e rrugës të përgjigjet. Mos e trajtoni një certifikatë korporative, një adresë ndërmjetësi ose një zë VPN si leje për të hequr menaxhimin ose për të anashkaluar rrugën e miratuar; kjo e kthen një rast mbështetjeje në një incident politike.

Kontrata e ndërmjetësit të parazgjedhur është e shkurtër dhe vlen një lexim, sepse përcakton saktësisht cilin ndërmjetës raporton thirrja, dhe çdo lexim i tepruar i kësaj pamjeje fillon duke supozuar se raporton më shumë.

Artikuj të ngjashëm