Android-ын VPN дэлгэц нэр, түлхүүрийн дүрс, магадгүй байнга асаалттай унтраалгатай нэг мөрийг харуулдаг. Энэ нь төгсгөлийн цэг, маршрутын бодлого, DNS серверүүд эсвэл холболтыг ажиллуулдаг нэвтрэх мэдээллийг ховор харуулдаг, учир нь апп-д суурилсан туннельд эдгээр нь аппад хамаарна. Практик үр дагавар нь философийн бус runbook асуулт юм: татаж авсан файлыг засах эсвэл төвлөрсөн профайл агуулахыг хайхаас өмнө, өөрчлөхийг хүсч буй тохиргоог аль бүрэлдэхүүн эзэмшдэгийг олж мэдээрэй.

Эхлээд холболтын төрлийг тодорхойл

Нэг тохиргооны дэлгэц дээр дор хаяж гурван зохион байгуулалт байна. Апп нь виртуал интерфэйс бүрдүүлж, протокол болон хувийн тохиргоог эзэмшихэд VpnService ашиглаж болох бөгөөд алсын гаралтгүй орон нутгийн шүүлтүүр апп ч багтана. Android нь Ikev2VpnProfile-ээр дамжуулан платформын IKEv2 профайлыг ч өгч болох бөгөөд энэ нь API 30-аас хүртээмжтэй бөгөөд платформ профайлын илүү их хэсгийг хадгалдаг. Харин үйлчилгээ үзүүлэгчийн апп өөрийн серверийн жагсаалтыг харуулж, тохиргоог дотроо угсарч болно.

adb shell dumpsys connectivity | grep -i -A12 "VPN"
adb shell cmd connectivity list-owners 2>/dev/null || true

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

Эзэмшигч болон профайлын хүрээг тэмдэглэ

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

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

Хүссэн, хүлээн авсан, хэрэглэсэн төлөвийг харьцуул

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

StageWhere to lookWhat it proves
RequestedThe app's profile editor or imported fileWhat the owner intends to use
ReceivedSanitized app log of server-supplied optionsWhat the peer actually pushed
AppliedLink properties and routes after connectWhat the device is really using

Хэрэглэсэн шат нь хэний ч логт итгэхгүйгээр ажиглаж болох шат юм. Идэвхтэй холбоосын шинж чанар дахь DNS серверүүд болон маршрутуудыг профайлын баталж буйтай харьцуул; хэрэв ялгаатай бол сервер ямар нэгэн зүйл илгээсэн эсвэл апп таны хүлээгээгүй бодлого хэрэглэсэн байна.

adb shell ip addr show tun0
adb shell ip route show table all | head -40

Интерфэйсийн нэр аппуудын хооронд ялгаатай тул эхлээд интерфэйсүүдийг жагсааж, туннель холбогдоход гарч ирснийг унш. Аппын засварт байгаа ч энд байхгүй маршрут хэзээ ч хэрэглэгдээгүй; энд байгаа ч засварт байхгүй маршрут өөр газраас ирсэн.

Эзэмшигчийн үнэхээр уншдаг файлыг зас

Импортолсон OpenVPN профайлын хувьд апп ихэвчлэн өөрийн хуулбарыг хадгалдаг. Анх татаж авсан файлыг дараа нь засах нь дараагийн холболтыг өөрчлөхгүй; аппын баримтжуулсан засварыг ашигла, эсвэл дахин импортолж, одоо аль профайл идэвхтэйг батал. Энэ бол файл өөрчлөх болон тохиргоо өөрчлөхийн ялгаа.

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

Нууцыг илчлэхгүйгээр дэмжлэгийн тэмдэглэл бич

Ашигтай тэмдэглэл нь яг апп болон профайлыг, буруу харагдах тохиргоог, үе шат бүрийн нотолгоог нэрлэнэ. Жишээлбэл: энэ профайл серверээс хувийн DNS хаяг авдаг боловч зорьсон ажлын апп өөрийн үйлчилгээг шийдэж чадахгүй, хэрэглэсэн холбоосын шинж чанар тэр шийдэгчийг харуулж байхад профайлын засвар өөр нэгийг харуулж байна.

Нэвтрэх мэдээллийг тэмдэглэлээс гадуур байлга. Эзэмшигчийг тодорхойлохын тулд төхөөрөмжийг root хийж аппын хувийн сангаас хайх шаардлагагүй бөгөөд таамагласан өгөгдлийн хавтасны зам нь дэмжигдсэн интерфэйс биш. Хэрэв хариулт зөвхөн аппын харж чадах байт шаарддаг бол өөрөө зохиохын оронд эзэмшигчээс оношилгооны экспорт хүс.

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

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