Удирдлагатай ажлын аппын VPN болон проксийн төлөвийг хэрхэн унших вэ
Удирдлагатай утсан дээрх VPN дүрс нь маш бага зүйлийг нотолдог. Идэвхтэй сүлжээ, түүний чадвар болон бодит проксийг уншиж, дараа нь тэг утга бүрийг байгаагаар нь уншаарай.
Удирдлагатай утсан дээр ажлын апп бүтэлгүйтэхэд хэн нэгэн VPN унтраалгыг шалгаж, асаалттай байгааг хараад замыг эрүүл гэж зарладаг. Эдгээр оношлогооны ихэнх нь энд зогсдог бөгөөд энэ нь хэт эрт: идэвхтэй VPN тээвэрлэлт нь энэ аппын хүсэлтүүд түүнийг ашигласан гэж хэлэхгүй, бодитоор хэрэгжих прокси нь апп тус бүрийн байж болно эсвэл Тохиргоонд харагдахын оронд PAC файлаар сонгогдож болно. Дибаг хийж буй тодорхой апп болон профайлаас эхэлж, дараа нь платформын замын талаарх өөрийн үзэл бодлыг уншина уу.
Апп болон түүний профайлаас эхлээрэй
Ажлын тэмдэгтэй апп ихэвчлэн өөрийн сүлжээний бодлоготой тусдаа профайлд ажилладаг. Мөн утсан дээрх хувийн хөтөч нь түүний нотолгоо болохгүй, өөр удирдлагатай хамт олны төхөөрөмжийн үр дүн ч мөн адил. Ямар нэгэн зүйлийг уншихаасаа өмнө апп аль профайлд хамаарахыг тэмдэглээрэй.
Тохиргоонд тохируулсан VPN бичлэгүүдийг жагсааж, тус бүр хэнд хамаарахыг тэмдэглээрэй. Samsung хувилбаруудад цэсийн шошго хувилбаруудын хооронд шилждэг тул бичлэгийг тайлбарла, түүнд хүрэх замыг биш. Саарал эсвэл удирдлагатай бичлэг төхөөрөмжийг удирдаж буй хүнд хамаарна; түүнийг туршилт болгон унтраах нь хэмжихийг оролдож буй зүйлийг өөрчилж, бодлогын эсрэг байж болно.
Платформын мэдээлж буй төлөвийг уншаарай
Таны дэмжлэгийн хэрэгсэл дэх одоо байгаа үйл ажиллагааны дотор, API 23 буюу түүнээс хойш, сүлжээний төлөвийг нэг ч байт илгээхгүйгээр уншиж болно. Дуудлагад чадварыг уншихад ердийн ACCESS_NETWORK_STATE манифест зөвшөөрөл шаардлагатай.
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Утга бүр нарийн асуултад хариулдаг. Идэвхтэй сүлжээ нь тухайн мөчид дуудаж буй процессын өгөгдмөл сүлжээ юм. Чадварын шалгалт нь тэр өгөгдмөл сүлжээ VPN-ээр дэмжигдсэн эсэхийг хэлнэ. Прокси дуудлага нь үр дүнтэй өгөгдмөл HTTP проксийг мэдээлдэг бөгөөд буцаасан объект нь статик прокси эсвэл PAC скриптийг дүрсэлж болно.
Хэрэв өгөгдмөлийн оронд сүлжээ тус бүрийн харагдац хэрэгтэй бол ижил сүлжээний холбоосын шинж чанаруудыг уншиж, cm.getLinkProperties(network)?.httpProxy-той харьцуулна уу. Төхөөрөмжийн удирдлагаас суулгасан прокси нь өгөгдмөл прокси дуудлагад харагдах бөгөөд холбоосын шинж чанаруудад харагдахгүй, энэ нь бодлогоос өгсөн проксийг сүлжээнээс өгснөөс хурдан ялгах арга юм.
Гаралтыг нийтийн тайланд биш, дэмжлэгийн сувагтаа хадгал. Прокси хост нэрс, PAC хаягууд болон дотоод дагавар нь танай байгууллага трафикийг хэрхэн чиглүүлж буйг илчилдэг бөгөөд алдааг тайлбарлахад тэдгээрийн аль нь ч шаардлагагүй.
Талбар бүрийг нарийн тайлбарла
Тэг сүлжээ эсвэл тэг чадварын объект гэдэг нь дуудаж буй талын сүлжээний төлөв боломжгүй байсан эсвэл унших явцад өөрчлөгдсөн гэсэн үг. Энэ нь VPN байхгүй гэсэн үг биш. Үүнийг үл мэдэгдэх гэж үзэж, апп урд талд гарсны дараа дахин унш, сөрөг үр дүн гэж биш.
VPN тээвэрлэлт нь эерэг шинжүүдийн хамгийн сул нь. VpnService агуулсан аливаа апп нэгийг үүсгэдэг, таны трафикийг хаашаа ч илгээдэггүй локал шүүлтүүр апп орно. Тиймээс true утга нь VPN-ээр дэмжигдсэн өгөгдмөл сүлжээ байгааг хэлнэ, танай байгууллагын гаралтыг ашигласан гэж биш, шалгалт болсон гэж огт биш.
Тэг өгөгдмөл прокси гэдэг нь энэ API үр дүнтэй тохиргоонд өгөгдмөл HTTP прокси мэдээлэхгүй гэсэн үг. Энэ нь маш бага зүйлийг үгүйсгэдэг: апп өөрийн SOCKS тохиргоог авч явж болно, өөрийн HTTP клиентийг хэрэгжүүлж болно, эсвэл төхөөрөмж хэзээ ч мэдэхгүй гарцын проксигоор удирдуулж болно.
Нэг утгат хариултыг ялдаг тохиолдол нь PAC юм. Скрипт нэг очих газрыг проксигоор дамжуулж, нөгөөг шууд илгээж чаддаг тул нэг аппын секундын доторх хоёр хүсэлт өөр замаар явж болно. Өөрийн сокетуудыг сонгосон сүлжээнд холбодог, эсвэл bindProcessToNetwork дууддаг апп өгөгдмөлийг дагах үүрэггүй.
Энэ агшин зураг юу гэж хэлж чадахгүй вэ
Энэ бол түүх биш. Энд бүтэлгүйтсэн хүсэлт ямар зам явсан бэ гэдгийг юу ч бүртгэдэггүй, бүтэлгүйтлийн дараах амжилттай уншилт нь бүтэлгүйтлийн талаарх нотолгоо биш. Энэ нь мөн жагсаалт биш: та дуудаж буй процессын өгөгдмөл сүлжээг авдаг, апп бүрийн хувийн холболтын жагсаалтыг биш.
Сокетын дээр юу болж байгаа талаар ч юу ч хэлэхгүй. Удирдлагатай төхөөрөмж дээр бүтэлгүйтэх TLS гар барилт нь итгэлцлийн сангийн асуудал, бэхлэлтийн зөрүү эсвэл проксигоос татгалзсан нэр байж болно, тэдгээрийн аль нь ч холболтын уншилтад харагдахгүй.
Тиймээс хоёр хагас хамтдаа чухал: агшин зураг хаана харахыг нарийсгаж, аппын өөрийн оношлогоо бодитоор юу бүтэлгүйтсэнийг хэлнэ.
Администратор ашиглаж болох хэлбэрээр мэдээл
Нөлөөлөгдсөн апп, профайл, цагийн тэмдэглэгээ болон бүтэлгүйтсэн яг үе шатыг өгнө үү: нэр шийдвэрлэх, TCP холболт, TLS гар барилт эсвэл HTTP төлөв. Агшин зургийн утгуудыг уншсан хэвээр нэмж, тэгүүдийг тэг гэж бич, юу ч байхгүй гэсэн үгээр биш. Мөн профайл дахь бусад аппууд ижил аргаар бүтэлгүйтэж байгаа эсэхийг тэмдэглэ, энэ нь аппын асуудлыг бүх профайлын замын асуудлаас ялгана.
Дараа нь зогсоод замын эзэмшигчид хариу өгөх боломж өг. Корпорацийн гэрчилгээ, прокси хаяг эсвэл VPN бичлэгийг удирдлагыг устгах эсвэл батлагдсан маршрутыг тойрох зөвшөөрөл гэж бүү үз; энэ нь дэмжлэгийн хэргийг бодлогын осол болгоно.
Өгөгдмөл проксийн гэрээ богино бөгөөд нэг удаа унших нь зүйтэй, учир нь дуудлага аль проксийг мэдээлэхийг нарийн тодорхойлдог бөгөөд энэ агшин зургийг хэт унших бүр илүү их мэдээлдэг гэсэн таамаглалаас эхэлдэг.