Басқарылатын телефонда жұмыс қолданбасы істен шығады, біреу 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 жазбасын басқаруды алып тастауға немесе бекітілген маршруттан өтуге рұқсат деп қарамаңыз; бұл қолдау ісін саясат оқиғасына айналдырады.

Әдепкі прокси шарты қысқа және бір рет оқуға тұрарлық, өйткені ол шақырудың қай проксиді хабарлайтынын нақты анықтайды, және осы суретті кез келген артық оқу оның көбірек хабарлайды деген болжамнан басталады.

Қатысты мақалалар