Android апп хонгил өргөгдөх тэр мөчид ажиллахаа болиход гурван өөр зүйл буруутан байж болох бөгөөд тэдгээр нь ижил төстэй эвдрэл үүсгэдэг. Апп нь утасны өөрийнх нь сүлжээний төлөвийг уншиж, локал байдлаар татгалзаж болно. Сервер нь таны ирж буй хаягийг ангилаад түүнийг няцааж болно. Эсвэл татгалзал нь VPN-тэй огт хамаагүй байж болно. Доорх дараалал нь щос нэг зүйлийг өөрчлөхөөс өмнө нотолгоо цуглуулдаг, учир нь гарах гарцыг солих нь хамгийн үнэтэй алхам бөгөөд шалгалт локал бол туслах магадлал хамгийн бага алхам юм.

Алхам 1: апп хэзээ татгалздагийг олж мэдэх

Цаг бол эхний ялгааруулагч. Логийн буферыг цэвэрлэж, эвдрэлийг дахин үүсгээд, апп гомдоллохоос өмнө юу хийснийг хараарай:

adb logcat -c
# reproduce the failure in the app
adb logcat -d | grep -iE 'vpn|network|connect|http' | tail -60

Хэрэв апп нь гадагш явах аливаа хүсэлт оролдсоны өмнө татгалзвал та локал шийдвэрийг харж байна. Хэрэв холбогдож, щос явуулаад дараа нь алдаа харуулбал татгалзал нөгөө талаас ирсэн. Хэрэв хонгил унтарсан үед ч апп ижилхэн бүтэлгүйтвэл VPN хэзээ ч хувьсагч байгаагүй.

Тэр цагийг баталгаа биш нотолгоо гэж үзээрэй. Апп кэшлэсэн хариуг дахин тоглуулж болох бөгөөд арын хүсэлтүүд таны харахаас өмнө амжилттай эсвэл бүтэлгүй болсон байж болно. Сүүлийн амжилттай хүсэлт болон алдааны цагийн тэмдгийг бичээрэй, зөвхөн мессеж гарсан мөчийг биш.

Алхам 2: утасны сүлжээний талаарх өөрийн харц

Android нь VPN-ийн төлөвийг сүлжээний чадвар хэлбэрээр ил гаргадаг тул хонгил идэвхтэй байгааг анзаарахын тулд апп-д арилжааны үйлчилгээ үзүүлэгчдийн жагсаалт хэрэггүй. Энэ нь холболтын үйлчилгээнээс одоогийн сүлжээ аль болохыг асуудаг бөгөөд хариултад VPN тээврийн бит орсон байдаг:

val cm = context.getSystemService(ConnectivityManager::class.java)
val caps = cm.getNetworkCapabilities(cm.activeNetwork)
val onVpn = caps?.hasTransport(NetworkCapabilities.TRANSPORT_VPN) == true

Тэр шалгалт нь локал бөгөөд хямд бөгөөд «энэ апп VPN-ээр ажиллахгүй» гэсэн бүхэл ангиллын тайланг ямар ч алсын ангилалгүйгээр тайлбарладаг. Апп-ын харж чадах зүйл нь өөрийнх нь сүлжээний нөхцөл байдлаас хамаардаг хэвээр, тиймээс апп бүр төхөөрөмж дээрх профайл бүрийг шалгадаг гэж бүү бодоорой.

Ажлын станцаас та туршилтын төхөөрөмж дээр adb shell dumpsys connectivity ашиглаж, VPN сүлжээний бичлэгийг хайж ижил төлөвийг харж болно. Хонгил өргөгдсөн гүйлтийг хонгил буусан гүйлттэй харьцуулж, хоёр гаралтыг хадгаарай.

Алхам 3: сервер үнэхээр юу хардагийг унших

Нөгөө ажиглагч бол үйлчилгээ юм. Энэ нь ирж буй эх хаягийг хардаг бөгөөд хаяг, түүний ард байгаа хостингийн сүлжээ, бүс нутаг, оператор эсвэл бүртгэл болон төхөөрөмжтэй холбоотой дохионуудаар үйлдэл хийж болно. Эдгээрийн аль нь ч өвөрмөц таних тэмдэг биш бөгөөд хаягийг хуваалцах нь хажуугийн блоклолтыг хэвийн үзэгдэл болгодог: нэг хязгаарлагдмал хаяг ижил орчуулгын ард байгаа холбоогүй хэрэглэгчдийг ч унагаж болно.

Хаягийг апп-ын ашигладаг ижил замаар ав, зөөврийн компьютер дээрх хөтчөөс биш. Утсан дээр хаягийн цуурай үйлчилгээнд хийсэн энгийн хүсэлт нь алс тал юу хүлээж авдагг х харуулдаг бөгөөд үүнийг гар утасны сүлжээгээр хийсэн хүсэлттэй харьцуулбал хаяг огт өөрчлөгдсөн эсэхийг мэдэж болно.

Хэрэв апп нь гар утасны сүлжээгээр ажиллаж, ижил бүртгэлээр хонгилоор бүтэлгүйтвэл татгалзал нь алс талд эсвэл апп-ын өөрийн бодлогт байна. Хэрэв хоёуланд нь бүтэлгүйтвэл VPN нь ялгаруулагч хүчин зүйл биш бөгөөд төгсгөлийн цэгүүдийг туршихаа зогсоох хэрэгтэй.

Алхам 4: нотолгоог гурван дүгнэлтийн аль нэгтэй тааруулах

Гурван хослол бараг бүх тайланг хамардаг. Хонгил идэвхтэй үед гадагш явах оролдлогогүй татгалзал нь локал тээврийн шалгалтыг заана. Гадагш гарч алдаа, тодорхой хост дээр цаг дуусах эсвэл бүс нутгийн мессежтэй буцаж ирэх хүсэлт нь алс талыг заана. Хонгилгүйгээр гар утасны сүлжээнд давтагдах эвдрэл нь бүртгэл, апп-ын хувилбар эсвэл үйлчилгээний өөрийн бодлогыг заадаг бөгөөд ямар ч VPN өөрчлөлт үүнийг хөдөлгөхгүй.

Дүгнэлтийг түүнийг үүсгэсэн нотолгоотой хамт бичээрэй. Энэ алхмын үнэ цэнэ нь хэн нэгэн утсан дээр ажилладаг шалгалтыг засахын тулд гарах зангилааг дөрвөн удаа сольдог мөчлөгийг зогсоодогт оршино.

Энэ нь мөн мэдэгдлүүдийг шударга байлгадаг. Өөрөө хостинг хийх нь төгсгөлийн цэг болон түүний интернэт гарцыг өөрчилдөг; энэ нь Android-д VPN сүлжээ идэвхтэй гэдгийг мартахад хүргэхгүй бөгөөд хаягийг ангилдаг үйлчилгээний хүлээн зөвшөөрөлтийг баталгаажуулдаггүй. Локал шүүлтүүр нь таны өөрийн VPN сүлжээнд арилжааны сүлжээний адил амархан идэвхжиж болно.

Алхам 5: дэмжигдсэн замаар явж, түүнийг шалгах

Бүтээгдэхүүний баримтжуулсан бодлого болон түүний дэмжлэгийн эзнээс эхэл. Клиентийн хувилбар, яг мессеж болон эвдрэлийн нарийн хугацааны цонхыг илгээ; алдаа байгааг нотлохын тулд бүрэн траффикийн бичлэг эсвэл нэвтрэх мэдээллийг бүү илгээ.

Хэрэв үйлчилгээ шууд хандалтыг зөвшөөрч, төхөөрөмжийн бодлого ч зөвшөөрвөл, апп тус бүрээр хасах нь дэмжигдсэн механизм бөгөөд энэ нь хонгилыг нуухын оронд тухайн апп-ыг хонгилоос санаатайгаар гаргадаг. Дараа нь апп-ын траффик өөрийн замаар гарна, энэ нь хэн нэгэн хариуцах ёстой бодлогын шийдвэр юм. VPN-гүйгээр блоколддог тохиргоонд хасагдсан апп холболтоо алдаж болох тул ажиллана гэж амлахаас өмнө тэр хослолыг туршиж үзээрэй.

Аливаа өөрчлөлтийн дараа нэгдүгээр алхмын цагийн туршилтыг давтаж, апп ажиллаж байгаа эсэхийг баталж, бусад бүх апп хонгилыг ашиглас хэвээр байгаа эсэхийг батал. Дараа нь өмнөх тохиргоог сэргээж, эвдрэл буцаж ирэх эсэхийг шалга, учир нь дахин үүсгэж чадахгүй засвар бол дахин таарах тохиолдол юм.

Холбоотой нийтлэлүүд