Սարքի VPN նշիչ, թե՞ ելքի հասցե. որն ինչ է ապացուցում
Սարքում կարդացվող ցանցային նշիչը և սերվերի տեսած հասցեն տարբեր ապացույցներ են։ Որոշեք, թե ձեր հարցին որն է պետք։
Հեռախոսի հավելվածը և հեռավոր սերվերը սկսում են տարբեր փաստերից, և ոչ մեկը չի կարող փոխառել մյուսի փաստերը։ Հավելվածը կարող է հարցնել օպերացիոն համակարգին այն ցանցի մասին, որն օգտագործում է, մինչդեռ սերվերը գիտի միայն այն, ինչ գալիս է կապուղով։ Սեփական վերջնակետ գործարկելը վերագրում է երկրորդը և անփոփոխ է թողնում առաջինը։ Դրանցից որը պատասխանում է ձեր հարցին, կախված է հենց հարցից։
Դիտարկման երկու կետ, ապացույցի երկու տեսակ
Տեղական ապացույցը նկարագրում է սարքը։ Այն ընդգրկում է երթևեկությունը կրող ինտերֆեյսը, հարթակի հաղորդած տրանսպորտը և այն, ինչ կանչող հավելվածին թույլատրվում է հարցնել։ Հեռավոր ապացույցը նկարագրում է կապը՝ աղբյուրի հասցե, արձանագրություն, ժամանակ և այն ամենը, ինչ հավելվածը որոշում է ուղարկել։ Դիտարկման ոչ մի կետ մյուսի ամբողջական գերաբազմությունը չէ։
Երկուսը խառնելը ստեղծում է պնդումներ, որոնք ճշգրիտ են հնչում և չեն կարող ստուգվել։ Նշիչը ինչ-որ բան է ապացուցում սարքի ցանցային օբյեկտի մասին, ոչ այն մասին, թե ինչպես է հեռավոր ծառայությունը դասակարգում հարցումը։
Նախքան հայտնաբերման մասին վիճելը գրեք, թե հարցը որ կետին է վերաբերում։ Խնդիրն այն է, թե արդյոք որոշակի հավելվածը կարող է հասկանալ, որ թունելն ակտիվ է, թե՞ այն, թե արդյոք ծառայությունը կարող է ենթադրել, թե որտեղից է եկել հարցումը։ Դրանք առանձին հետազոտություններ են, և մեկի պատասխանը ոչինչ չի ասում մյուսի մասին։
Ինչ կարող է հաղորդել տեղական հարթակի ինտերֆեյսը
Android-ը տրամադրում է որոշակի նշիչ։ NetworkCapabilities օբյեկտը կարող է հաղորդել TRANSPORT_VPN արժեքը, իսկ hasTransport ստուգում է՝ արդյոք այդ տրանսպորտն առկա է օբյեկտում։ Հավելվածը օբյեկտը ստանում է կապակցվածության ծառայությունից և կարդում այն՝ ցանցի վիճակի թույլտվության պայմանով։
Արդյունքը տեղական հարթակային տեղեկություն է, ոչ թե մատակարարի հասցեների միջակայքերում որոնում։ Այն նկարագրում է այն ցանցը, որն օգտագործում է կանչող հավելվածը։
Երկու սահմանափակում կարևոր է։ Բաժանված թունելի կանոնը, որը բացառում է հավելվածը, կարող է նույն հեռախոսում այլ պատասխան տալ, քան տեսնում է գործընկերը, որովհետև հավելվածը կարող է այլ տեղ կապված լինել։ Նշիչը գոյություն ունի նաև այն պատճառով, որ օպերացիոն համակարգը մոդելավորում է VPN ինտերֆեյսներ, ոչ թե որևէ հավելված այն հավաքում է։ Արդյոք հավելվածը կարդում է դաշտը, փոխանցում այն, թե անտեսում՝ դա այդ հավելվածի հատկությունն է։ Նրա մանիֆեստը և փաստաթղթերը այդ հարցի միակ վստահելի աղբյուրներն են։
adb shell dumpsys connectivity | grep -i -m5 vpn
Ինչ կարող է տեսնել հեռավոր ծառայությունը
Սերվերը տեսնում է կապի աղբյուրի հասցեն, տրանսպորտը և ժամանակը, և կարող է հասցեն հարստացնել գրանցամատյանի կամ երթուղավորման տվյալներով։ Այն կարող է նաև ստանալ այն ամենը, ինչ ուղարկում է հավելվածը, ներառյալ գտնվելու վայրը, երբ հավելվածը պահանջում է այն և օգտատերը համաձայնում է։ Այդ ուղիներն առանձին են, և միայն մեկն է նման հասցեի որոնման։
Հոսթինգի մատակարարի անունով գրանցված հասցեն հուշում է թունել, մինչդեռ բնակելի ցանցում գրանցված հասցեն հուշում է տնային կապ։ Երկուսն էլ վիճակագրական ակնարկներ են, ոչ թե փաստեր սարքի մասին։
Բնակելի հասցեն մարդուն չի տեղադրում այդ հասցեում, և հոսթինգի հասցեն չի նշում օպերատորին կամ երկիրը։ Ծառայությունը, որը ենթադրությունը վերաբերվում է որպես վստահություն, երբեմն սխալվելու է՝ չկարողանալով դա հայտնաբերել։ Եթե պահանջը հուսալիություն է, այլ ոչ թե էվրիստիկա, ապա հասցեի տվյալները չեն կարող այն ապահովել, և դիզայնը, որն այդպես է ասում, ավելի ազնիվ է, քան այն, որը թաքցնում է ենթադրությունը։
| Ապացույց | Ինչի է պատասխանում | Ինչ չի կարող ցույց տալ |
|---|---|---|
| Տեղական տրանսպորտի նշիչ | Արդյոք այս ցանցային օբյեկտը VPN է | Ով է կառավարում ելքը կամ որտեղ է սարքը |
| Հեռավոր աղբյուրի հասցե | Որ հասցեն է հասել ծառայությանը | Արդյոք սարքը նաև թունել է կրում |
| Հավելվածի բեռնվածք | Ինչ է հավելվածը որոշել ուղարկել | Այն ամենը, ինչ հավելվածը չի ուղարկել |
Ինչու ինքնահոսթավորված ելքը փոխում է միայն մի կողմը
Սեփական վերջնակետի գործարկումը փոխում է այն աղբյուրի հասցեն, որը տեսնում է հեռավոր ծառայությունը, ինչը կարող է այն դուրս բերել այն միջակայքերից, որոնք այդ ծառայությունը կապում է առևտրային մատակարարների հետ։ Տեղական ցանցի մոդելում ոչինչ չի փոխվում, որովհետև թունելը մնում է թունել, և օպերացիոն համակարգը դեռ հաղորդում է այն։
Ապացույցի մի կողմը շարժվում է, մյուսը մնում է անշարժ։ Նրանց միջև ընկած բացը այն տեղն է, որտեղ սպասումները կոտրվում են։
Դիտարկիչը երրորդ դեպքն է՝ իր ինտերֆեյսներով և սահմանափակումներով։ Վեբ բովանդակությունը չի կարող կարդալ բնիկ հնարավորությունների օբյեկտ, և բջջային օպերացիոն համակարգի հատկանիշը վեբ էջի համար հասանելի համարելը կատեգորիայի սխալ է։ Եթե հարցը վերաբերում է կայքին, ուսումնասիրեք, թե կայքը իրականում ինչ կարող է ստանալ, փոխարենը՝ հարթակի API-ն բառացիորեն վերաշարադրելու։
Որոշեք ձեր տված հարցով
Եթե հարցն այն է, թե արդյոք որոշակի հավելվածը կարող է դիտարկել թունելի վիճակը, ապա հարթակի ինտերֆեյսը ճիշտ տեղն է նայելու, և պատասխանը այդ հավելվածի կոդում ու թույլտվություններում է։ Եթե հարցն այն է, թե ինչ կարող է ենթադրել ծառայությունը, ապացույցը կապի մետատվյալներն են։ Իրավական կամ պայմանագրային հարցը ոչ մեկը չի լուծում։
Անվանեք հարցը մեկ նախադասությամբ, նախքան ինչ-որ բան հավաքելը։ Այդ նախադասությունը որոշում է, թե որ դիտարկման կետն է կարևոր, և թույլ չի տալիս հետազոտությանը սահել այլ վեճի մեջ։
Յուրաքանչյուր դիտարկում պիտակավորեք ըստ աղբյուրի, երբ հաղորդում եք դրա մասին, որովհետև առանց պիտակի պնդումը հնարավոր չէ վերանայել։ Տեղական նշիչը և հասցեից արված ենթադրությունը երկուսն էլ օգտակար են, և ոչ մեկը վճռական չէ, դրա համար էլ դրանք մեկ վճռի մեջ միավորելը սխալ է։
Երբ ծառայությունը մերժում է լիազորված կապը, օգտվեք նրա աջակցվող վերանայման ուղուց՝ փոխարենը տեղային կարգավորում փոխելու, որպեսզի թաքցնեք ազդանշանը։ Մեկ դիտարկում հեռացնելը երբեք չի ապացուցում, որ մյուսները անհետացել են։