Nola detektatu VPN tunel aktibo bat kodetik edozein plataformatan
Tunela existitzen da, helmuga hau bertatik pasatzen da, edo urruneko muturrak erantzuten du? Hiru egiaztapen desberdin eta hiru seinale desberdin dira.
«VPN-a martxan dago?» benetan hiru galdera dira esaldi bakarrean. Zein behar duen zure kodeak da lehen erabakia, eta horixe da inplementazio gehienek saltatzen dutena. Tunel bat existitzen da gailu honetan, helmuga honetarako trafikoa bertatik irteten da, edo urruneko muturrak espero duzun identitatearekin erantzuten du. Aukeratu propietatea, gero hura neurtzen duen seinalea, eta azkenik esan erregistroan zein neurtu duzun benetan.
Hiru propietate, hiru seinale
Bakoitza lerro batean trinkotuta, hiru galderek hiru erantzun desberdin dituzte. Beheko taula erabakia bera da, ez haren laburpena.
| Property | Signal that answers it | What it still leaves open |
|---|---|---|
| Existence | The platform's own connection state: RAS on Windows, NetworkManager on D-Bus on Linux, scutil on macOS | Tunnels of a type the platform does not manage, which includes most third-party clients |
| Path | A route lookup for the one destination, or a scoped proxy or interface key that names the tunnel | Whether the far end is the peer you trust |
| Identity | An authenticated response from the far end, or a source-address policy applied on the server | Which local interface carried the packets |
Irakurri azken errenkada poliki. Erantzuten duen host pribatu batek zerbait erantzun zuela frogatzen du, ez erantzuna tunelatik iritsi zela, eta ez du ezer esaten beste muturrean nor dagoen. Behar duzun propietatea bidea bada, neurtu bidea.
Existetzea: plataformaren beraren egoera
Windowsek hau profile natiboei Remote Access Service APIaren bidez erantzuten die. RasEnumConnections zer dagoen konektatuta zerrendatzen du, RasGetConnectStatus sarrera baten egoera jakinarazten du, eta RasGetLinkStatistics abiadura, byte-kontagailuak eta konexioaren adina gehitzen ditu. Mugak dira kontua: OpenVPN, WireGuard eta saltzaileen bezeroek ez dute inoiz RAS konexiorik erregistratzen, beraz mota horretako tunel osasuntsu batek zerrenda hutsa erakusten du eta kode inozoa erorita dagoela jakinarazten du.
Linux mahaigainek propietate bera erakusten dute D-Buseko NetworkManager bidez, non VPN konexioaren objektuko PropertiesChanged egiaztapena gertaera bihurtzen duen eta State propietateak esteka konektatuta egoerara iristen denean jakinarazten duen. Shell batetik, nmcli connection show --active informazio bera irakurtzen du, eta hori da arazketa egitean nahi duzuna. macOSek zerrenda hori System Configuration esparruan gordetzen du, scutil komando-lerroko ikuspegi gisa. Hirurek plataformak kudeatzen duen konexio bat deskribatzen dute, eta hirurek isiltzen dute kudeatzen ez duen tunel baten aurrean.
Bidea: paketea benetan nora doan
Izenen bat-etortzea da denek lehenengo hartzen duten lasterbidea: zerrendatu interfazeak, probatu katea tun, tap, ppp edo ipsec-ren aurka, eta hartu asmakizun bat froga gisa. Heuristiko bat da, eta interfaze multzoa berdin gerta daiteke bertatik ezer pasatzen den ala ez. iOS bertsio zaharrek horrela erantzuten zuten eta geroagokoek utzi egin zuten, interfaze ikusgaiak jada bi egoerak bereizten ez zituelako.
Hura ordezkatu zuenak sistemaren proxy hiztegia da. VPN bat konektatuta dagoen bitartean, proxy ezarpenen deialdiak tunelekin lotutako interfazeei lotutako gakoak itzultzen ditu, eta ezer konektatuta ez dagoenean hiztegia hutsik itzultzen da. Entzuten duena baino baieztapen ahulagoa da, tunel bat badagoela sistemaren ustea erregistratzen duelako, ez zein helmugak erabiltzen duen.
Androidek tranparen bere bertsioa du: vpn.connectivity igorpena manifestuan deklaratutako hartzaileengana iristen da build batzuetan eta exekuzio-denboran erregistratutako hartzaileengana besteetan. Trata ezazu ahalegin onen gisa, eta eduki proba zuzen bat haren atzean.
Helmuga denean garrantzitsua dena, galdetu bideratze-taulari adapter zerrendaren ordez. Defektuzko atebidearen heuristikoek huts egiten dute sare anitzeko makinetan eta beren atebidea instalatzen duten tunel edoetan.
Identitatea: probatu urruneko muturra
Urruneko muturrera segundo gutxian behin ICMP oihartzuna bidaltzen duen begizta da mota honetako egiaztapenik merkeena, eta norabide erabilgarrian huts egiten du. Zuzendu sare pribatuaren barruan soilik existitzen den helbide batera, helbide publiko bat edozein uplink funtzionalen bidez erantzuten baita eta ez baitu ezer frogatzen. ICMP iragazten den tokian, zerbitzuaren porturako TCP konexio labur batek lan bera egiten du.
Zerbitzariaren alboko egiaztapenak seinale bat baino ez du eskuragarri: konexioaren iturburu-helbidea. Barrutien inbentarioa mantentzea mantentze-lana da, eta ez du tunela bereizten bloke bera erabiltzen duen beste edozein saretatik.
Politika zakarrak horrekin bizi daiteke. Identitateak ezin du, beraz egiaztatu bezeroa, ez fidatu haren paketeak nondik datozela ematen duen itxuraz.
Erregistratu kategoria, ez epaia
Eduki hutsegite-kategoriak bereizita erregistroan: interfazerik ez, interfazea badago baina helmuga iristezina, helmuga iristegarria baina autentifikazioa baztertuta. Hiru jabe desberdin dira, eta bakoitzak ikerketa desberdin bat irekitzen du.
Hauek «VPN-a behera» bakarrean biltzeak konpondu ezin duen talde batera bidaltzen du txostena. Kategoria da irteera erabilgarria; epaia da oker egiten duena.