Značka VPN v zariadení alebo adresa výstupu: čo čo dokazuje?
Sieťová značka prečítaná v zariadení a adresa, ktorú vidí server, sú rôzne dôkazy. Rozhodnite, ktorý z nich vaša otázka potrebuje.
Aplikácia v telefóne a vzdialený server začínajú s rôznymi faktami a ani jeden si nemôže požičať fakty toho druhého. Aplikácia sa môže operačného systému opýtať na sieť, ktorú používa, zatiaľ čo server pozná len to, čo dorazí spojením. Prevádzkovanie vlastného koncového bodu prepisuje druhé a prvé necháva nedotknuté. Ktorý z nich odpovie na vašu otázku, závisí od samotnej otázky.
Dva pozorovacie body, dva druhy dôkazov
Miestne dôkazy opisujú zariadenie. Zahŕňajú rozhranie, ktoré nesie prevádzku, transport, ktorý platforma hlási, a to, na čo sa volajúca aplikácia smie opýtať. Vzdialené dôkazy opisujú spojenie: zdrojovú adresu, protokol, časovanie a všetko, čo sa aplikácia rozhodne odoslať. Žiadny pozorovací bod nie je nadmnožinou toho druhého.
Zmiešaním oboch vznikajú tvrdenia, ktoré znejú presne a nedajú sa overiť. Značka dokazuje niečo o sieťovom objekte v zariadení, nie o tom, ako vzdialená služba požiadavku klasifikuje.
Skôr než sa začnete hádať o detekcii, zapíšte, ktorého bodu sa otázka týka. Ide o to, či konkrétna aplikácia dokáže zistiť, že tunel je aktívny, alebo o to, či služba dokáže odvodiť, odkiaľ požiadavka prišla? To sú oddelené skúmania a odpoveď na jedno nič nehovorí o druhom.
Čo môže miestne rozhranie platformy hlásiť
Android ponúka konkrétnu značku. Objekt NetworkCapabilities môže hlásiť TRANSPORT_VPN, a hasTransport skúma, či je tento transport na objekte prítomný. Aplikácia objekt získa od služby konektivity a prečíta ho, s výhradou oprávnenia na stav siete.
Výsledok je miestna informácia platformy, nie dopyt na rozsahy adries poskytovateľa. Opisuje sieť, ktorú volajúca aplikácia používa.
Dve obmedzenia sú dôležité. Pravidlo rozdeleného tunela, ktoré aplikáciu vylučuje, môže na tom istom telefóne dať inú odpoveď, než akú vidí kolega, pretože aplikácia môže byť naviazaná inde. Značka existuje aj preto, že operačný systém modeluje rozhrania VPN, nie preto, že by ju nejaká konkrétna aplikácia zbierala. Či aplikácia pole číta, preposiela ho alebo ignoruje, je vlastnosťou tejto aplikácie. Jej manifest a dokumentácia sú jedinými spoľahlivými zdrojmi pre túto otázku.
adb shell dumpsys connectivity | grep -i -m5 vpn
Čo môže vzdialená služba vidieť
Server vidí zdrojovú adresu spojenia, transport a časovanie a adresu môže obohatiť údajmi z registra alebo smerovania. Môže tiež prijať všetko, čo aplikácia odošle, vrátane polohy, keď o ňu aplikácia požiada a používateľ súhlasí. Tie kanály sú oddelené a iba jeden pripomína dopyt na adresu.
Adresa registrovaná u poskytovateľa hostingu naznačuje tunel, zatiaľ čo adresa registrovaná v rezidenčnej sieti naznačuje domáce pripojenie. Obe sú štatistické náznaky, nie fakty o zariadení.
Rezidenčná adresa neumiestňuje človeka na túto adresu a hostingová adresa nepomenúva operátora ani krajinu. Služba, ktorá s odvodením zaobchádza ako s istotou, sa občas zmýli, pričom to nedokáže zistiť. Ak je požiadavkou spoľahlivosť a nie heuristika, adresné údaje ju nedodajú, a návrh, ktorý to priznáva, je čestnejší než ten, ktorý odhad skrýva.
| Dôkaz | Na čo odpovedá | Čo nemôže ukázať |
|---|---|---|
| Miestna značka transportu | Či je tento sieťový objekt VPN | Kto prevádzkuje výstup alebo kde je zariadenie |
| Vzdialená zdrojová adresa | Ktorá adresa dorazila do služby | Či zariadenie nesie aj tunel |
| Údaje aplikácie | Čo sa aplikácia rozhodla odoslať | Čokoľvek, čo aplikácia neodoslala |
Prečo samostatne hostovaný výstup mení len jednu stranu
Prevádzkovanie vlastného koncového bodu mení zdrojovú adresu, ktorú vzdialená služba vidí, čo ju môže posunúť mimo rozsahov, ktoré služba spája s komerčnými poskytovateľmi. V miestnom sieťovom modeli sa nič nemení, pretože tunel zostáva tunelom a operačný systém ho stále hlási.
Jedna strana dôkazov sa pohybuje, druhá zostáva pevná. Medzera medzi nimi je miesto, kde sa lámajú očakávania.
Prehliadač je tretí prípad s vlastnými rozhraniami a obmedzeniami. Webový obsah nedokáže čítať natívny objekt schopností a považovať funkciu mobilného operačného systému za dostupnú webovej stránke je kategorická chyba. Ak sa otázka týka webu, skúmajte, čo web skutočne môže získať, namiesto prepisovania API platformy.
Rozhodujte podľa otázky, ktorú kladiete
Ak je otázkou, či konkrétna aplikácia dokáže pozorovať stav tunela, správnym miestom je rozhranie platformy a odpoveď leží v kóde a oprávneniach tejto aplikácie. Ak je otázkou, čo môže služba odvodiť, dôkazom sú metadáta spojenia. Právnu ani zmluvnú otázku nerieši ani jedno.
Pomenujte otázku jednou vetou, skôr než čokoľvek zhromaždíte. Tá veta rozhoduje, ktorý pozorovací bod je dôležitý, a bráni tomu, aby skúmanie odbočilo k inej hádke.
Každé pozorovanie označte podľa zdroja, keď o ňom referujete, pretože neoznačené tvrdenie nemožno preskúmať. Miestna značka aj odvodenie adresy sú užitočné a ani jedno nie je priekazné, a preto je ich zlievanie do jedného verdiktu chyba.
Keď služba odmietne autorizované spojenie, použite jej podporovanú cestu preskúmania, namiesto toho aby ste zmenili miestne nastavenie a skryli signál. Odstránenie jedného pozorovania nikdy nedokazuje, že ostatné zmizli.