Апликацијата на телефонот и оддалечениот сервер почнуваат со различни факти и ниту еден не може да ги позајми фактите на другиот. Апликацијата може да го праша оперативниот систем за мрежата што ја користи, додека серверот знае само што пристигнува по врската. Ако работите сопствена крајна точка, втората се препишува, а првата останува непроменета. Кој од двата одговара на вашето прашање зависи од самото прашање.

Две точки на набљудување, два вида докази

Локалните докази го опишуваат уредот. Тие го опфаќаат интерфејсот што го носи сообраќајот, транспортот што го пријавува платформата и она за што смее да праша апликацијата што повикува. Оддалечените докази ја опишуваат врската: изворна адреса, протокол, време и сè што апликацијата ќе реши да испрати. Ниту една точка на набљудување не е натмножество на другата.

Мешањето на двете создава тврдења што звучат точно и не можат да се проверат. Маркерот докажува нешто за мрежен објект на уредот, а не за тоа како оддалечена услуга го класифицира барањето.

Пред да се расправате за откривање, запишете на која точка се однесува прашањето. Дали прашањето е дали одредена апликација може да сфати дека тунелот е активен, или дали услуга може да заклучи од каде доаѓа барањето? Тоа се одделни истражувања, и одговорот на едното не кажува ништо за другото.

Што може да пријави локален интерфејс на платформата

Android нуди одреден маркер. Објектот NetworkCapabilities може да пријави TRANSPORT_VPN, а hasTransport проверува дали тој транспорт е присутен на објектот. Апликацијата го добива објектот од услугата за поврзување и го чита, под услов на дозвола за состојба на мрежата.

Резултатот е локална информација од платформата, а не проверка во опсезите на адреси на давател. Ја опишува мрежата што ја користи апликацијата што повикува.

Важни се две граници. Правило за поделен тунел што исклучува апликација може да даде различен одговор на истиот телефон од оној што го гледа колега, бидејќи апликацијата може да биде врзана на друго место. Маркерот постои и затоа што оперативниот систем моделира VPN-интерфејси, а не затоа што некоја одредена апликација го собира. Дали апликацијата го чита полето, го препраќа или го игнорира е својство на таа апликација. Нејзиниот манифест и документацијата се единствените сигурни извори за тоа прашање.

adb shell dumpsys connectivity | grep -i -m5 vpn

Што може да види оддалечена услуга

Серверот ја гледа изворната адреса на врската, транспортот и времето, и може да ја збогати адресата со податоци од регистар или рутирање. Може да прими и сè што апликацијата ќе испрати, вклучително локацијата кога апликацијата ја бара тоа, а корисникот се согласува. Тие канали се одделни, и само еден личи на проверка на адреса.

Адреса регистрирана на давател на хостинг укажува на тунел, додека адреса регистрирана на станбена мрежа укажува на домашна врска. Двете се статистички навестувања, а не факти за уредот.

Станбената адреса не го поставува човекот на таа адреса, а адресата на хостинг не го именува операторот или земјата. Услуга што го третира заклучокот како сигурност понекогаш ќе греши без да може тоа да го открие. Ако барањето е сигурност, а не хеуристика, податоците за адресата не можат да ја обезбедат, и дизајнот што го кажува тоа е почесен од оној што ја крие претпоставката.

ДоказНа што одговараШто не може да покаже
Локален маркер за транспортДали овој мрежен објект е VPNКој управува со излезот или каде е уредот
Оддалечена изворна адресаКоја адреса стигна до услугатаДали уредот носи и тунел
Товар на апликацијатаШто избра апликацијата да испратиСè што апликацијата не испрати

Зошто самостојно хостиран излез менува само една страна

Работењето сопствена крајна точка ја менува изворната адреса што ја гледа оддалечена услуга, што може да ја премести надвор од опсезите што услугата ги поврзува со комерцијални даватели. Во локалниот мрежен модел ништо не се менува, бидејќи тунелот останува тунел и оперативниот систем сè уште го пријавува.

Едната страна од доказите се движи, другата останува неподвижна. Јазот меѓу нив е местото каде што се кршат очекувањата.

Прелистувачот е трет случај со свои интерфејси и ограничувања. Веб-содржината не може да чита нативен објект за можности, а третирањето функција на мобилен оперативен систем како достапна за веб-страница е категориска грешка. Ако прашањето се однесува на веб-страница, проучете што може навистина да добие веб-страница наместо да препишувате API на платформата.

Одлучете со прашањето што го поставувате

Ако прашањето е дали одредена апликација може да ја набљудува состојбата на тунелот, интерфејсот на платформата е вистинското место за гледање, а одговорот е во кодот и дозволите на таа апликација. Ако прашањето е што може да заклучи услуга, метаподатоците за врската се доказот. Правно или договорно прашање не го решава ниту едното.

Именувајте го прашањето во една реченица пред да соберете било што. Таа реченица одлучува која точка на набљудување е важна и ја спречува истрагата да залута во друга расправа.

Означете го секое набљудување според неговиот извор кога известувате за него, бидејќи тврдење без ознака не може да се прегледа. Локалниот маркер и заклучокот од адресата се обата корисни и ниту едното не е конечно, затоа нивното спојување во една пресуда е грешка.

Кога услугата одбива овластена врска, користете го нејзиниот поддржан пат за преглед наместо да менувате локално поставување за да скриете сигнал. Отстранувањето на едно набљудување никогаш не докажува дека другите исчезнале.

Поврзани статии