Hoe't jo VPN- en proxystatus fan in behearde wurk-app lêze
In VPN-ikoan op in behearde telefoan bewiist hiel lyts. Lês it aktive netwurk, syn kapasiteiten en de effektive proxy, en lês dêrnei elke nul sa't er is.
In wurk-app falt op in behearde telefoan, immen kontrolearret de VPN-skeakel, sjocht dat er oan is en ferklearret it paad sûn. Dêr stopje de measte fan dizze diagnoazes, en it is te ier: in aktive VPN-transport seit net dat de oanfragen fan dizze app it brûkten, en de proxy dy't eins jildt kin per app wêze of keazen wurde troch in PAC-bestân ynstee fan yn Ynstellings te ferskinen. Begjin by de spesifike app en it profyl dat jo ûndersykje, en lês dan de eigen sicht fan 'e platfoarm op it paad.
Begjin by de app en syn profyl
In app mei in wurkbadge rint meastentiids yn in apart profyl mei syn eigen netwurkbelied. In persoanlike browser op 'e selde telefoan is gjin bewiis foar har, en in resultaat fan 'e masine fan in kollega mei oare beheardering is dat ek net. Notearje by hokker profyl de app heart foar't jo eat lêze.
Yn Ynstellings, list de konfigurearre VPN-ynfieringen op en notearje wa't elke besit. Op Samsung-buils ferskoot de menulabels tusken ferzjes, beskriuw dus de ynfiering ynstee fan it paad dêrnei. In grize of beheardere ynfiering heart by wa't it tastel beheart; it as eksperimint útskeakelje feroaret wat jo besykje te mjitten en kin tsjin it belied wêze.
Lês de steat dy't de platfoarm rapportearret
Binnen in besteande aktiviteit yn jo stipe-ark, op API 23 of letter, kin de netwurkstaat lêzen wurde sûnder in byte te stjoeren. De oprop hat de normale ACCESS_NETWORK_STATE-manifesttastimming nedich foar it lêzen fan kapasiteiten.
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.defaultProxyElke wearde beantwirdet in smelle fraach. It aktive netwurk is it standertnetwurk foar it opropende proses op dat stuit. De kapasiteitskontrôle seit jo oft dat standertnetwurk VPN-stipe is. De proxy-oprop rapportearret de effektive standert-HTTP-proxy, en it weromjûn objekt kin itsij in statyske proxy itsij in PAC-skript beskriuwe.
As jo de sicht per netwurk nedich hawwe ynstee fan 'e standert, lês de keppelingseigenskippen fan itselde netwurk en fergelykje mei cm.getLinkProperties(network)?.httpProxy. In proxy ynstallearre troch tastelbeheardering ferskynt yn 'e standert-proxy-oprop en net yn 'e keppelingseigenskippen, wat in snelle manier is om in troch belied jûne proxy te ûnderskieden fan ien dy't it netwurk joech.
Hâld de útfier yn jo stipekanaal ynstee fan yn in iepenbier rapport. Proxy-hostnammen, PAC-URL's en ynterne efterheaksels bjusterje hoe't jo organisaasje ferkear liedt, en gjin fan harren is nedich om de fout te beskriuwen.
Tsjoch elk fjild smel
In nul-netwurk of in nul-kapasiteitsprojekt betsjut dat de netwurkstaat fan 'e opropende net beskaat wie of feroare by it lêzen. It betsjut net dat der gjin VPN is. Behannelje it as ûnbekend en lês wer nei't de app nei foargrûn kaam is, net as in negatyf resultaat.
In VPN-transport is de swakste fan 'e posityf. Elke app dy't VpnService hâldt produsearret ien, ynklusyf in lokale filterapp dy't jo ferkear nea earne hinne stjoert. Sa seit in wiere wearde dat in VPN-stipe standertnetwurk bestiet, net dat de útgong fan jo organisaasje brûkt waard en wis net dat ynspeksje barde.
In nul-standertproxy betsjut dat dizze API gjin standert-HTTP-proxy rapportearret foar de effektive konfiguraasje. It slút hiel lyts by: in app kin syn eigen SOCKS-ynstelling drage, syn eigen HTTP-klant ymplementearje, of liedt wurde troch in proxy by de gateway dy't it tastel nea leart.
PAC is it gefal dat in antwird mei ien wearde ferslacht. In skript kin ien bestimming fia in proxy liede en in oare direkt stjoere, sadat twa oanfragen fan 'e selde app binnen in sekonde ferskate paden nimme kinne. En in app dy't syn sockets oan in keazen netwurk bynt, of bindProcessToNetwork opropt, is hielendal net ferplichte it standert te folgjen.
Wat dit momintbyld jo net sizze kin
It is gjin histoarje. Neat hjir registrearret hokker paad de mislearjende oanfraach naam, en in suksesfolle lêzing nei de fout is gjin bewiis oer de fout. It is ek gjin ynventaris: jo krije it standertnetwurk fan it opropende proses, net in list fan 'e privee ferbinings fan elke app.
It seit ek neat oer wat boppe de socket bart. In TLS-hânskodding dy't op in behearder tastel mislearret kin in probleem fan 'e fertrouwenopslach wêze, in pinning-ôfwiking of in namme dy't de proxy wegere, en gjin fan dy ferskynt yn in ferbiningslêzing.
Dêrom binne de beide helten mei-inoar fan belang: it momintbyld beheint wêr't jo sjogge, en de eigen diagnostyk fan 'e app seit wat eins mislearre.
Rapportearje it yn in foarm dy't in behearder brûke kin
Jou de oangiene app, it profyl, it tiidstempel en it krekte stadium dat mislearre: nammesolving, TCP-ferbining, TLS-hânskodding of in HTTP-staat. Foegje de momintbyldwearden ta sa't se lêzen waarden, mei nullen as nullen skreaun en net as gjin. Notearje oft oare apps yn it selde profyl op deselde manier mislearje, wat in app-probleem fan in profylbreed paadprobleem skiedt.
Stopje dan en lit de eigner fan it paad antwirdzje. Behannelje in bedriuwsertifikaat, in proxy-adres of in VPN-ynfiering net as tastimming om beheardering te ferwiderjen of it goedkarde paad te omgeen; dat makket in stipegefoel ta in beliedsynsidint.
It standertproxy-kontrakt is koart en wurdich om ien kear te lêzen, om't it krekt bepaalt hokker proxy de oprop rapportearret, en elke oermjittige lêzing fan dit momintbyld begjint mei de oanname dat it mear rapportearret.