Eng Aarbechts-App fält op engem verwaltenten Telefon aus, een iwwerpréift den VPN-Schalter, gesäit datt en un ass a erkläert de Wee gesond. Hei halen déi meescht vun dëse Diagnosen op, an et ass ze fréi: en aktiven VPN-Transport seet net, datt d'Ufroe vun dëser App en benotzt hunn, an de Proxy, deen tatsächlech gëllt, kann pro App sinn oder duerch eng PAC-Datei gewielt ginn, amplaz an den Astellungen ze erschéngen. Fänk bei der spezifescher App an dem Profil un, deen s du debuggst, a lies duerno déi eege Siicht vun der Plattform op de Wee.

Fänk bei der App an hirem Profil un

Eng App mat engem Aarbechts-Badge leeft normalerweis an engem separaten Profil mat senger eege Netzwierkpolitik. E perséinleche Browser op dem selwechten Telefon ass kee Beweis dofir, an en Resultat vum Gerät vun engem Kolleg mat enger anerer Verwaltung och net. Nott sech, zu wéienge Profil d'App gehéiert, ier s du eppes liest.

An den Astellungen, lëscht déi konfiguréiert VPN-Anträg op a nott sech, wiem jiddwereen gehéiert. Op Samsung-Builden beweege sech d'Menü-Etiketten tëscht de Versiounen, also beschreif den Antrag amplaz de Wee dohinner. En duercherneen oder verwaltenten Antrag gehéiert deen, deen d'Gerät administréiert; en als Experiment ausschalten ännert dat, wat s du probéiersch ze moossen, a kann géint d'Politik sinn.

Lies den Zoustand, deen d'Plattform mellt

Bannen enger existéierender Aktivitéit an dengen Ënnerstëtzungsinstrumenter, op API 23 oder méi spéit, kann den Netzwierkzoustand gelies ginn, ouni en Byte ze schécken. Den Opruff brauch déi normal ACCESS_NETWORK_STATE-Manifesterlaabnes fir d'Fäegkeeten ze liesen.

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

Jede Wäert beäntwert eng schmuel Fro. Den aktiven Netzwierk ass den Standardnetzwierk fir de Prozess, deen den Opruff mécht, zu deem Moment. D'Fäegkeetskontroll seet dir, ob deen Standardnetzwierk VPN-gestëtzt ass. Den Proxy-Opruff mellt den effektiven Standard-HTTP-Proxy, an den zréckginnene Objet ka souwuel e statesche Proxy wéi och e PAC-Skript beschreiwen.

Wann s du d'Siicht pro Netzwierk amplaz vun der Standard brauchst, lies d'Link-Eegenschaften vum selwechten Netzwierk a vergläich mat cm.getLinkProperties(network)?.httpProxy. E Proxy, dee vun der Geräteverwaltung installéiert gouf, erschéngt am Standard-Proxy-Opruff an net an de Link-Eegenschaften, wat e séiere Wee ass, e Proxy vun der Politik vun engem vum Netzwierk ze ënnerscheeden.

Halt den Output an dengem Ënnerstëtzungskanal amplaz an engem ëffentleche Bericht. Proxy-Hostnimm, PAC-URLen an intern Suffixer verroden, wéi deng Organisatioun den Trafic leet, an keen dovun ass néideg, fir de Feeler ze beschreiwen.

Interpretéier all Feld enk

En Null-Netzwierk oder en Null-Fäegkeetsobjet bedeit, datt den Netzwierkzoustand vum Opruffenden net verfügbar war oder sech beim Liese geännert huet. Dat bedeit net, datt et kee VPN gëtt. Behandel et als onbekannt a lies nach eng Kéier, nodeems d'App an de Viischte komm ass, net als negativen Resultat.

En VPN-Transport ass dat Schwächst vun de positiven. All App, déi eng VpnService hält, produzéiert eng, och eng lokal Filter-App, déi den Trafic ni iergendwou hinschéckt. Also seet e Wäert true, datt en VPN-gestëtzten Standardnetzwierk existéiert, net datt den Ausgang vun dengem Betrib benotzt gouf an op kee Fall datt eng Inspektioun stattfonnt huet.

En Null-Standardproxy bedeit, datt dës API kee Standard-HTTP-Proxy fir déi effektiv Konfiguratioun mellt. Et schléisst ganz wéineg aus: eng App ka seng eege SOCKS-Astellung droen, hire eege HTTP-Client implementéieren oder vun engem Proxy um Gateway gesteiert ginn, vun deem d'Gerät ni eppes erfaasst.

PAC ass de Fall, deen eng Äntwert mat engem eenzegen Wäert besiegt. E Skript kann eng Destinatioun duerch e Proxy leeden an eng aner direkt schécken, sou datt zwou Ufroe vun der selwechter App bannent enger Sekonn verschidde Weeër kënne goen. An eng App, déi hir Sockets un en ausgewielten Netzwierk bënnt oder bindProcessToNetwork oprufft, ass iwwerhaapt net verflicht, dem Standard ze follegen.

Wat dëse Schnappschoss net kann soen

Dëst ass keng Geschicht. Näischt hei notéiert, wéi ee Wee déi feelend Ufro geholl huet, an e gelungenen Liese no enger Pann ass kee Beweis iwwer d'Pann. Et ass och keen Inventar: s du kréis den Standardnetzwierk vum Opruffprozess, net eng Lëscht vun de private Verbindunge vun all App.

Et seet och näischt iwwer dat, wat iwwer dem Socket geschitt. En TLS-Handshake, deen op engem verwaltenten Gerät feelt, ka e Problem vum Vertrauensspäicher sinn, eng Pinning-Diskrepanz oder en Numm, deen de Proxy refuséiert, an keen dovun erschéngt an engem Konnektivitéits-Liesen.

Dofir zielen déi zwou Hälften zesummen: de Schnappschoss enkelt an, wou een hi kuckt, an d'Eegendiagnostik vun der App seet, wat tatsächlech gefeelt huet.

Mell et a Form, déi en Administrateur ka benotzen

Gitt déi betraffent App, de Profil, den Zäitstempel an déi genee Etapp, déi gefeelt huet: Nummopléisung, TCP-Verbindung, TLS-Handshake oder en HTTP-Status. Füügt d'Wäerter vum Schnappschoss esou bäi, wéi se gelies goufen, mat Nullen als Nullen geschriwwen an net als keen. Nott sech, ob aner Appen am selwechte Profil op déiselwecht Manéier feelen, wat en App-Problem vun engem profilwäiten Weeproblem trennt.

Dann hale fest a loos de Besëtzer vum Wee äntweren. Betrachte keen Unternehmenszertifikat, eng Proxyadress oder en VPN-Antrag als Erlaabnes, d'Verwaltung ze läschen oder de genehmegten Wee ze ëmgosen; dat mécht aus engem Ënnerstëtzungsfall en Politikvirfall.

Den Standard-Proxy-Vertrag ass kuerz an eng Kéier wäert ze liesen, well en genau definéiert, wéi ee Proxy den Opruff mellt, an all Iwwerliese vun dësem Schnappschoss fänkt mat der Usprooch un, datt en méi mellt.

Ähnlech Artikelen