Pārvaldītā tālrunī darba lietotne neizdodas, kāds pārbauda VPN slēdzi, redz, ka tas ir ieslēgts, un paziņo, ka ceļš ir vesels. Šeit apstājas lielākā daļa šo diagnostiku, un tas ir pārāk agri: aktīvs VPN transports nenozīmē, ka šīs lietotnes pieprasījumi to izmantoja, un starpniekserveris, kas faktiski tiek piemērots, var būt pa lietotnēm vai izvēlēts ar PAC failu, nevis parādīts Iestatījumos. Sāciet ar konkrēto lietotni un profilu, kuru atkļūdojat, pēc tam nolasiet platformas pašas skatījumu uz ceļu.

Sāciet ar lietotni un tās profilu

Lietotne ar darba zīmi parasti darbojas atsevišķā profilā ar savu tīkla politiku. Personiskā pārlūkprogramma tajā pašā tālrunī nav tam pierādījums, un arī kolēģa ierīces ar citu pārvaldību rezultāts nav. Pirms kaut ko lasāt, atzīmējiet, kuram profilam lietotne pieder.

Iestatījumos uzskaitiet konfigurētos VPN ierakstus un atzīmējiet, kam katrs pieder. Samsung būvējumos izvēlnes apzīmējumi starp laidieniem mainās, tāpēc aprakstiet ierakstu, nevis ceļu uz to. Pelēks vai pārvaldīts ieraksts pieder tam, kas administrē ierīci; tā izslēgšana eksperimenta nolūkā maina to, ko mēģināt izmērīt, un var būt pretēji politikai.

Nolasiet stāvokli, ko ziņo platforma

Esošas aktivitātes ietvaros jūsu atbalsta rīkos, API 23 vai jaunākā, tīkla stāvokli var nolasīt, nenosūtot nevienu baitu. Izsaukumam ir vajadzīga parastā ACCESS_NETWORK_STATE manifesta atļauja iespēju nolasīšanai.

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

Katra vērtība atbild uz šauru jautājumu. Aktīvais tīkls ir izsaucēja procesa noklusējuma tīkls tajā brīdī. Iespēju pārbaude pasaka, vai šis noklusējuma tīkls ir VPN atbalstīts. Starpniekservera izsaukums ziņo faktisko noklusējuma HTTP starpniekserveri, un atgrieztais objekts var aprakstīt vai nu statisku starpniekserveri, vai PAC skriptu.

Ja jums vajadzīgs skats pa tīkliem, nevis noklusējuma, nolasiet tā paša tīkla savienojuma rekvizītus un salīdziniet ar cm.getLinkProperties(network)?.httpProxy. Ierīces pārvaldības instalēts starpniekserveris parādās noklusējuma starpniekservera izsaukumā, nevis savienojuma rekvizītos, un tas ir ātrs veids, kā atšķirt politikas doto starpniekserveri no tīkla dotā.

Glabājiet izvadi savā atbalsta kanālā, nevis publiskā pārskatā. Starpniekservera resursdatoru nosaukumi, PAC adreses un iekšējie sufiksi atklāj, kā jūsu organizācija maršrutē satiksmi, un neviens no tiem nav vajadzīgs, lai aprakstītu kļūmi.

Interpretējiet katru lauku šauri

Nulle tīkls vai nulle iespēju objekts nozīmē, ka izsaucēja tīkla stāvoklis nebija pieejams vai nolasīšanas laikā mainījās. Tas nenozīmē, ka VPN nav. Uztveriet to kā nezināmu un nolasiet vēlreiz pēc tam, kad lietotne ir priekšplānā, nevis kā negatīvu rezultātu.

VPN transports ir vājākais no pozitīvajiem. Jebkura lietotne, kurai ir VpnService, rada vienu, tostarp lokāla filtrēšanas lietotne, kas nekad nekur nenosūta jūsu satiksmi. Tāpēc vērtība true saka, ka pastāv VPN atbalstīts noklusējuma tīkls, nevis ka tika izmantota jūsu organizācijas izeja un noteikti ne ka notika pārbaude.

Nulle noklusējuma starpniekserveris nozīmē, ka šī API neziņo nevienu noklusējuma HTTP starpniekserveri faktiskajai konfigurācijai. Tas izslēdz ļoti maz: lietotne var nest savu SOCKS iestatījumu, ieviest savu HTTP klientu vai tikt vadīta ar starpniekserveri pie vārtejas, par kuru ierīce nekad neuzzina.

PAC ir gadījums, kas uzveic vienas vērtības atbildi. Skripts var novirzīt vienu galamērķi caur starpniekserveri un nosūtīt citu tieši, tāpēc divi vienas lietotnes pieprasījumi sekundes laikā var iet dažādus ceļus. Un lietotne, kas savas ligzdas saista ar izvēlētu tīklu vai izsauc bindProcessToNetwork, nemaz nav pienākuma sekot noklusējumam.

Ko šis momentuzņēmums nevar pateikt

Tā nav vēsture. Nekas šeit nefiksē, kādu ceļu gāja neizdevušais pieprasījums, un veiksmīga nolasīšana pēc kļūmes nav pierādījums par kļūmi. Tā arī nav inventarizācija: jūs iegūstat izsaucēja procesa noklusējuma tīklu, nevis katras lietotnes privāto savienojumu sarakstu.

Tas arī neko nesaka par to, kas notiek virs ligzdas. TLS rokasspiediens, kas neizdodas pārvaldītā ierīcē, var būt uzticības krātuves problēma, piespraudes neatbilstība vai vārds, ko starpniekserveris atsakās, un neviens no tiem neparādās savienojamības nolasījumā.

Tāpēc abas puses ir svarīgas kopā: momentuzņēmums sašaurina, kur skatīties, un pašas lietotnes diagnostika pasaka, kas patiešām neizdevās.

Ziņojiet tā, lai administrators to varētu izmantot

Norādiet skarto lietotni, profilu, laika zīmogu un precīzo posmu, kas neizdevās: vārdu atrisināšana, TCP savienojums, TLS rokasspiediens vai HTTP statuss. Pievienojiet momentuzņēmuma vērtības tā, kā tās tika nolasītas, ar nullēm, kas rakstītas kā nulles, nevis kā vārds nekas. Atzīmējiet, vai citas lietotnes tajā pašā profilā neizdodas tāpat, un tas atdala lietotnes problēmu no visa profila ceļa problēmas.

Pēc tam apstājieties un ļaujiet ceļa īpašniekam atbildēt. Neuzskatiet uzņēmuma sertifikātu, starpniekservera adresi vai VPN ierakstu par atļauju noņemt pārvaldību vai apiet apstiprināto maršrutu; tas pārvērš atbalsta gadījumu politikas incidentā.

Noklusējuma starpniekservera līgums ir īss un vērts vienu reizi izlasīt, jo tas precīzi definē, kuru starpniekserveri ziņo izsaukums, un katra šī momentuzņēmuma pārlasīšana sākas ar pieņēmumu, ka tas ziņo vairāk.

Saistītie raksti