Įjungėte belaidį derinimą, prijungėte nešiojamąjį kompiuterį, ir sesija toliau veikė, kol VPN buvo įjungta. Tai atrodo taip, tarsi kažkas praslydo pro tunelį. Beveik tikrai ne. Derinimo sesija ir programėlės užklausa svetainei yra skirtingi tinklo ryšiai, ir tik vienas jų turėtų kirsti tunelį.

Su šiuo klaidingu skaitymu susidūriau du kartus: vieną kartą, kai telefonas ir nešiojamasis buvo tame pačiame Wi-Fi, ir vieną kartą po perkrovimo, kai susiejimas išliko. Abiem atvejais VPN darė būtent tai, kam buvo sukonfigūruota.

Įvardykite stebėjimą, prieš įvardydami klaidą

Prieš nuotėkio teiginį gali įvykti trys įvykiai, ir jie nėra keičiami. Įrankis gali atrasti paslaugą, įrenginys gali patvirtinti darbo vietą, arba įgaliota sesija gali iš tikrųjų perduoti komandas ir baitus. Užsirašykite, kurį matėte, nes kiekvienas įrodo mažiau, nei žmonės mano.

Aptikimas paprastai yra mDNS arba prievadų skenavimas. Susiejimas yra telefono priimtas registracijos sprendimas, patvirtintas vartotojo įvestu kodu. Gyva sesija reiškia, kad srautas judėjo tarp dviejų susietų galinių taškų. Niekas iš to neaprašo, kur eina programėlės HTTPS užklausa.

Laikykite paskirties vietą, sąsają, adresų šeimą, laiko žymą ir vartotojo profilį susietus su įvykiu. Be šių detalių stebėjimo negalima palyginti su numatyta vietinio tinklo politika arba su tuo metu veikusia VPN versija.

Kodėl du keliai niekada nesusitinka

Belaidis derinimas yra įeinančioji jungtis į įrenginį. adbd klausosi prievado, susieto su Wi-Fi sąsaja, o darbo vieta prisijungia prie jo po susiejimo. Kryptis svarbi: jūsų nešiojamasis patenka į telefoną, o ne atvirkščiai. Tai priešingybė išėjimo nuotėkiui.

Programėlės interneto srautas išeina per tunelio sąsają, kurią įdiegia VpnService, suderintas pagal UID ir maršrutizavimo taisykles. adbd yra sistemos demonas, veikiantis kaip shell vartotojas, o ne programėlė tame maršrutizavimo rinkinyje. Jis lieka pagrindinėje Wi-Fi jungtyje net tada, kai kiekviena programėlė pritvirtinta prie tunelio.

Užrakinimo režimas priverčia tunelį apimtoms programėlėms. Jis nepaverčia klausančio lizdo išėjimo keliu.

Štai kodėl veikianti ADB sesija ir veikiantis išjungiklis egzistuoja kartu be prieštaravimų. Norėdami įrodyti nuotėkį, turite stebėti kryptį, kuri turėtų būti užblokuota.

Kaip iš tikrųjų atrodo išėjimo testas

Testuokite apimtą programėlę, o ne derinimo kanalą. Sąmoningai sukurkite gedimo sąlygą, tada atlikite vieną naują užklausą ir užrašykite, kas įvyko.

  1. Patvirtinkite, kad VPN yra vienintelis kelias: įjunkite visada įjungtą VPN su ryšių be VPN blokavimu.
  2. Sustabdykite VPN palaikomu būdu ir patvirtinkite, kad programėlė praneša apie ryšio nebuvimą.
  3. Išsiųskite vieną nekenksmingą užklausą iš tos programėlės ir pažymėkite, ar ji nepavyksta, ar pavyksta.
  4. Pakartokite su įjungtu, o paskui išjungtu belaidžiu derinimu, kad kintamasis būtų izoliuotas.

Užblokuota užklausa tokiomis sąlygomis yra įrodymas. Sėkminga ADB sesija nėra, ir vienas ping iš terminalo programėlės taip pat ne.

Jei užklausa vis dėlto pavyksta, kai užrakinimas įjungtas, užrašykite programėlės UID ir jos VPN leidimą, aktyvų tinklą ir kliento versiją. Toks derinys yra tikras radinys.

Susiejimas pergyvena sesiją

Susiejimas yra ilgalaikė būsena, o ne rankos paspaudimas, kurį galima pamiršti po kabelio testo. Android derinimo dokumentacija aprašo belaidį darbo eigą ir pažymi, kad ryšys trunka tol, kol jis aiškiai pamirštamas arba atšaukiami leidimai.

Prieš kaltindami tunelį patikrinkite, kas dar įgaliota. Atidarykite Belaidį derinimą, pažiūrėkite Susietus įrenginius ir pamirškite viską, ko nebepažįstate. Paleiskite adb devices iš darbo vietos, kad pamatytumėte, kurie įrašai dar atsako, ir adb disconnect, kad atsisakytumėte pasenusio. Išjungus belaidį derinimą klausymosi prievadas visiškai uždaromas.

Bendrame arba nepatikimame tinkle palikite jį išjungtą. Nuolatinis leidimas tinkle, kurio nevaldote, yra didesnė problema nei hipotetinis TUN apėjimas.

Prieš pranešdami apie tą klaidą

Naudinga ataskaita įvardija tikslią ribą, kuri nepavyko. Nurodykite įrenginio modelį ir Android versiją, VPN klientą ir versiją, ar užrakinimas buvo įjungtas, programėlės paketą ir UID bei tinklą, kuriame buvo telefonas. Pridėkite komandą arba užklausą, kuri sukūrė stebėjimą, ir laiką, kada tai įvyko. Be to, niekas negali atkurti ribos, kurią teigiate esant sulaužytą.

Neišjunkite vykdymo ir neatskleiskite derinimo nepatikimame tinkle, kad testas atrodytų dramatiškiau. Tai pakeičia sistemą, kurią matuojate, ir palieka įrodymus, kurių niekas negali pakartoti.

Jei vienintelis jūsų įrodymas yra tai, kad ADB prisijungė, kai VPN buvo įjungta, matavote netinkamą kelią. Pirmiausia pakartokite programėlės lygio testą; atsakymas paprastai ateina ten.

Susiję straipsniai