Telefoni rakendus ja kaugserver alustavad erinevatest faktidest ning kumbki ei saa teise omi laenata. Rakendus võib operatsioonisüsteemilt küsida võrgu kohta, mida ta kasutab, samas kui server teab ainult seda, mis ühenduse kaudu saabub. Oma lõpp-punkti käitamine kirjutab teise ümber ja jätab esimese puutumata. Kumb neist teie küsimusele vastab, sõltub küsimusest endast.

Kaks vaatluspunkti, kahte liiki tõendid

Kohalik tõend kirjeldab seadet. See hõlmab liidest, mis liiklust kannab, transporti, millest platvorm teatab, ja seda, mida kutsuv rakendus tohib küsida. Kaugtõend kirjeldab ühendust: lähteaadress, protokoll, aeg ja kõik, mida rakendus otsustab saata. Ükski vaatluspunkt ei ole teise ülemhulk.

Kahe segamine annab väited, mis kõlavad täpselt ja mida ei saa kontrollida. Marker tõestab midagi seadmes oleva võrguobjekti kohta, mitte selle kohta, kuidas kaugteenus päringut liigitab.

Enne tuvastamise üle vaidlemist kirjutage üles, millist punkti küsimus puudutab. Kas küsimus on selles, kas konkreetne rakendus suudab aru saada, et tunnel on aktiivne, või selles, kas teenus suudab järeldada, kust päring tuli? Need on eraldi uurimised ja vastus ühele ei ütle teise kohta midagi.

Mida kohalik platvormiliides teatada võib

Android pakub konkreetse markeri. Objekt NetworkCapabilities võib teatada TRANSPORT_VPN, ja hasTransport kontrollib, kas see transport on objektil olemas. Rakendus saab objekti ühenduvusteenusest ja loeb seda, lähtudes võrgu oleku loast.

Tulemus on kohalik platvormiteave, mitte päring teenusepakkuja aadressivahemike vastu. See kirjeldab võrku, mida kutsuv rakendus kasutab.

Olulised on kaks piirangut. Jagatud tunneli reegel, mis rakenduse välja jätab, võib samas telefonis anda teistsuguse vastuse kui kolleeg näeb, sest rakendus võib olla mujale seotud. Marker on olemas ka seetõttu, et OS modelleerib VPN-liideseid, mitte seetõttu, et mõni konkreetne rakendus seda kogub. Kas rakendus seda välja loeb, edasi annab või eirab, on selle rakenduse omadus. Selle manifest ja dokumentatsioon on ainus usaldusväärne allikas selle küsimuse jaoks.

adb shell dumpsys connectivity | grep -i -m5 vpn

Mida kaugteenus näha võib

Server näeb ühenduse lähteaadressi, transporti ja aega ning saab aadressi rikastada registri- või marsruutimisandmetega. Ta võib vastu võtta ka kõike, mida rakendus saadab, sealhulgas asukohta, kui rakendus seda palub ja kasutaja nõustub. Need kanalid on eraldi ja ainult üks neist meenutab aadressipäringut.

Majutusteenuse pakkuja juures registreeritud aadress viitab tunnelile, samas kui elamurajooni võrgus registreeritud aadress viitab kodusele ühendusele. Mõlemad on statistilised vihjed, mitte faktid seadme kohta.

Eluaadress ei paiguta inimest sellele aadressile ja majutusaadress ei nimeta operaatorit ega riiki. Teenus, mis kohtleb järeldust kindlusena, eksib mõnikord ilma seda tuvastada suutmata. Kui nõue on usaldusväärsus, mitte heuristika, ei suuda aadressiandmed seda pakkuda, ja disain, mis seda ütleb, on ausam kui see, mis oletust varjab.

TõendMillele see vastabMida see näidata ei saa
Kohalik transpordimarkerKas see võrguobjekt on VPNKes väljundit haldab või kus seade asub
KauglähteaadressMilline aadress teenuseni jõudisKas seade kannab ka tunnelit
Rakenduse kasulik koormusMida rakendus otsustas saataKõik, mida rakendus ei saatnud

Miks isemajutatud väljund muudab ainult ühte poolt

Oma lõpp-punkti käitamine muudab lähteaadressi, mida kaugteenus näeb, mis võib selle viia väljapoole vahemikke, mida see teenus seostab kommertspakkujatega. Kohalikus võrgumudelis ei muutu midagi, sest tunnel jääb tunneliks ja OS teatab sellest endiselt.

Tõendite üks pool liigub, teine jääb paigale. Nende vaheline lõhe on koht, kus ootused purunevad.

Brauser on kolmas juhtum oma liideste ja piirangutega. Veebisisu ei saa lugeda natiivset võimekuse objekti, ja mobiilse OS-i funktsiooni pidamine veebilehele kättesaadavaks on kategooriaviga. Kui küsimus puudutab veebisaiti, uurige, mida veebisait tegelikult saada võib, selle asemel et platvormi API-t translitereerida.

Otsustage küsimuse järgi, mille esitate

Kui küsimus on, kas konkreetne rakendus saab tunneli olekut jälgida, on platvormiliides õige koht, kuhu vaadata, ja vastus peitub selle rakenduse koodis ja lubades. Kui küsimus on, mida teenus järeldada saab, on tõendiks ühenduse metaandmed. Õiguslikku või lepingulist küsimust ei lahenda kumbki.

Nimetage küsimus ühe lausega enne, kui midagi kogute. See lause otsustab, milline vaatluspunkt loeb, ja hoiab uurimise kõrvalekaldumast teise vaidlusse.

Märgistage iga vaatlus selle allika järgi, kui sellest teatate, sest märgistamata väidet ei saa üle vaadata. Kohalik marker ja aadressijäreldus on mõlemad kasulikud ja kumbki ei ole lõplik, seepärast on nende ühte otsusesse sulatamine viga.

Kui teenus keeldub volitatud ühendusest, kasutage selle toetatud ülevaatamise teed, selle asemel et muuta kohalikku seadet signaali peitmiseks. Ühe vaatluse eemaldamine ei tõesta kunagi, et teised kadusid.

Seotud artiklid