Töörakendus ebaõnnestub haldatud telefonis, keegi vaatab VPN-i lülitit, näeb seda sees ja kuulutab tee terveks. Siin peatub enamik neist diagnoosidest ja see on liiga vara: aktiivne VPN-transport ei ütle, et selle rakenduse päringud seda kasutasid, ja puhverserver, mis tegelikult kehtib, võib olla rakendusepõhine või PAC-failiga valitud, selle asemel et Seadetes näidata. Alustage konkreetsest rakendusest ja profiilist, mida silute, seejärel lugege platvormi enda vaadet teele.

Alustage rakendusest ja selle profiilist

Töömärgisega rakendus töötab tavaliselt eraldi profiilis, millel on oma võrgupoliitika. Isiklik brauser samas telefonis ei ole selle kohta tõend, ja seda ei ole ka teise haldusega kolmanda seadme tulemus. Märkige, millisesse profiili rakendus kuulub, enne kui midagi loete.

Seadetes loetlege konfigureeritud VPN-kirjed ja märkige, kellele igaüks kuulub. Samsungi versioonides liiguvad menüüsildid versioonide vahel, seega kirjeldage kirjet, mitte teed sinna. Hall või haldatud kirje kuulub sellele, kes seadet administreerib; selle eksperimendiks väljalülitamine muudab seda, mida proovite mõõta, ja võib poliitikaga vastuolus olla.

Lugege olekut, mida platvorm teatab

Olemasoleva tegevuse sees teie toevahendites, API 23 või uuemal, saab võrgu olekut lugeda ilma ühtki baiti saatmata. Kutsung vajab tavalist manifestiluba ACCESS_NETWORK_STATE võimaluste lugemiseks.

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

Iga väärtus vastab kitsale küsimusele. Aktiivne võrk on kutsuja protsessi vaikevõrk sellel hetkel. Võimaluste kontroll ütleb, kas see vaikevõrk on VPN-iga toetatud. Puhverserveri kutsung teatab tegeliku vaikimisi HTTP-puhverserveri ja tagastatud objekt võib kirjeldada kas staatilist puhverserverit või PAC-skripti.

Kui vajate vaikimisi asemel võrgupõhist vaadet, lugege sama võrgu lingi atribuute ja võrrelge cm.getLinkProperties(network)?.httpProxy -ga. Seadme halduse paigaldatud puhverserver ilmub vaikimisi puhverserveri kutsungis, mitte lingi atribuutides, mis on kiire viis eristada poliitika antud puhverserverit võrgu antud omast.

Hoidke väljund oma toe kanalis, mitte avalikus aruandes. Puhverserveri hostnimed, PAC-URL-id ja sisemised sufiksid paljastavad, kuidas teie organisatsioon liiklust suunab, ja ühtki neist pole vaja rikke kirjeldamiseks.

Tõlgendage iga välja kitsalt

Nullvõrk või null-objekt tähendab, et kutsuja võrgu olek ei olnud saadaval või muutus lugemise ajal. See ei tähenda, et VPN-i pole. Käsitlege seda tundmatuna ja lugege uuesti pärast seda, kui rakendus on esiplaanile tulnud, mitte negatiivse tulemusena.

VPN-transport on positiividest nõrgim. Iga rakendus, millel on VpnService, toodab ühe, sealhulgas kohalik filtreerimisrakendus, mis ei saada teie liiklust kunagi kuhugi. Seega üks väärtus ütleb, et VPN-iga toetatud vaikevõrk on olemas, mitte et teie organisatsiooni väljapääsu kasutati ja kindlasti mitte et kontroll toimus.

Null vaikimisi puhverserver tähendab, et see API ei teata ühtegi vaikimisi HTTP-puhverserverit tegeliku konfiguratsiooni jaoks. See välistab väga vähe: rakendus võib kanda oma SOCKS-seadet, rakendada oma HTTP-kliendi või olla juhitud lüüsi puhverserveri poolt, millest seade kunagi teada ei saa.

PAC on juhtum, mis võidab ühe väärtusega vastuse. Skript võib suunata ühe sihtkoha puhverserveri kaudu ja saata teise otse, nii et sama rakenduse kaks päringut sekundi jooksul võivad minna erinevaid teid. Ja rakendus, mis seob oma soklid valitud võrku või kutsub bindProcessToNetwork, ei ole kohustatud vaikimisi järgima üldse.

Mida see hetktõmmis teile öelda ei saa

See ei ole ajalugu. Miski siin ei registreeri, millist teed mööda ebaõnnestuv päring läks, ja ebaõnnestumise järel õnnestunud lugemine ei ole tõend ebaõnnestumise kohta. See ei ole ka inventuur: saate kutsuja protsessi vaikevõrgu, mitte iga rakenduse privaatsete ühenduste loendi.

See ei ütle midagi ka selle kohta, mis toimub sokli kohal. Haldatud seadmes ebaõnnestuv TLS-käepigistus võib olla usaldushoidla probleem, kinnitamise lahknevus või nimi, mille puhverserver keeldub, ja ükski neist ei ilmne ühenduvuse lugemisel.

Seetõttu loevad kaks poolt koos: hetktõmmis kitsendab, kuhu vaadata, ja rakenduse enda diagnostika ütleb, mis tegelikult ebaõnnestus.

Esitage see vormis, mida administraator saab kasutada

Esitage mõjutatud rakendus, profiil, ajatempel ja täpne ebaõnnestunud etapp: nime lahendamine, TCP-ühendus, TLS-käepigistus või HTTP-olek. Lisage hetktõmmise väärtused nii, nagu need loeti, nullid nullidena kirjutatuna, mitte sõnana ei midagi. Märkige, kas teised sama profiili rakendused ebaõnnestuvad samamoodi, mis eristab rakenduse probleemi profiiliülesest tee probleemist.

Seejärel lõpetage ja laske tee omanikul vastata. Ärge käsitlege ettevõtte sertifikaati, puhverserveri aadressi ega VPN-kirjet loana haldust eemaldada või kinnitatud marsruudist mööda minna; see muudab toejuhtumi poliitikajuhtumiks.

Vaikimisi puhverserveri leping on lühike ja väärib ühte lugemist, sest see määrab täpselt, millist puhverserverit kutsung teatab, ja iga liigne lugemine sellest hetktõmmisest algab eeldusega, et see teatab rohkem.

Seotud artiklid