Mit jelent egy sor egy VPN-adathalmazban, és miért számít
Szolgáltató, végpont, kilépési cím és elérhetőség négy különböző sor. Válassza ki az egységet, őrizze meg a származást, tegye közzé, amit az adathalmaz nem fed le.
Kérdezze meg, mit képvisel egy sor egy VPN-adathalmazban, és a válaszok megsokszorozódnak: egy vállalat, egy hallgató, egy nyilvános kilépési cím, egy elérhetőségi eredmény. Mindegyik jogos, és a címkék nélküli keverésük olyan összeget ad, amely pontosnak hangzik, és semmit sem jelent. Az egység tervezési döntés, és azt az első számolás előtt meg kell hozni. A közzétett VPN-statisztikák zavarának nagy része ennek a lépésnek a kihagyásából ered.
A sor állítás, nem dolog
Minden sor állít valamit a világról, és az állításnak van alanya. Az alany megnevezése teszi a sort egy másik sorral összehasonlíthatóvá.
A szolgáltatói sor azt állítja, hogy egy szervezet szolgáltatást kínál. A végponti sor azt állítja, hogy egy adott cím és port egy protokollt beszél. A kilépési sor azt állítja, hogy a forgalom egy adott időpontban elhagyott egy címet. A mérési sor azt állítja, hogy egy szonda valahonnan eredményt figyelt meg. Négy alany, négy séma, és egy adathalmaz, amely megkülönböztető nélkül keveri őket, egyáltalán nem összesíthető.
A megkülönböztető a séma legolcsóbb része és a leggyakrabban kihagyott elem.
A számolás előtt válassza ki az egységet
Válassza ki azt az egységet, amely a valóban felmerülő kérdésére válaszol. A végpontok számolása azt válaszolja meg, hány hallgatót hirdettek meg; a szolgáltatók számolása azt, hány szervezet vett részt; a kilépési címek számolása azt, hány látszólagos eredet létezik.
Ezek a számok nem felcserélhetők, és a különbségek nagyok. Egy szolgáltató több ezer címet üzemeltethet, és egy cím több protokollhallgatót is elhelyezhet különböző szolgáltatásokhoz. A címek számolása ezért sem felső, sem alsó korlátja a szolgáltatók számolásának. Minden alkalommal ugyanabban a mondatban nevezze meg az egységet, mint a számot. Az egység nélküli szám tizedespontos vélemény.
| Unit | The row asserts | What a count of it means |
|---|---|---|
| Provider | An organisation offers a service | How many operators appear |
| Endpoint | An address and port speak a protocol | How many listeners were advertised |
| Exit address | Traffic left from an address | How many apparent origins exist |
| Observation | A probe saw a result | How many tests ran, not how many servers |
Egy nyilvános könyvtár az adott szolgáltatásban meghirdetett résztvevőket adja. Ez nem a világ minden kereskedelmi, szervezeti és magán üzembe helyezésének leltára, és így kezelni minden származtatott statisztikát felfúj.
A származás a sémába tartozik
Származás nélküli sor nem ellenőrizhető újra. Rögzítse a forrásrekordot, a gyűjtés időpontját annak időzónájával, a megfigyelési módszert és az utolsó észlelés állapotát.
Tartsa külön a meghirdetett jellemzőket a megfigyeltektől, mert eltérő súlyt hordoznak. Egy könyvtár országcímkéje meghirdetett állítás, és nem bizonyítéka egy kiszolgáló fizikai helyének. Az IP-kiosztás egy hálózati blokkot azonosít, nem minden bérlőt benne, és nem egy felette lévő alkalmazás jelenlegi üzemeltetőjét. Két oszlop és egy megjegyzés minden alkalommal legyőz egy összevont mezőt.
{"endpoint": "203.0.113.10:1194/udp", "unit": "endpoint", "advertised_country": "NL",
"observed_at": "2026-11-03T02:15:00Z", "method": "udp_probe", "last_seen": "2026-11-03"}
Egyetlen JSON-sor konkréttá teszi a sémát, és könnyebb vitatkozni róla, mint egy leíró bekezdésről. Vegye észre, hogy az időbélyeg időzónát hordoz, és a módszert megnevezik, nem pedig sejtetik.
A kérdés szerint távolítsa el az ismétlődéseket
Az ismétlődések az egységtől függenek. Ugyanaz a cím két protokollhallgatóval egy végpontpár és két szolgáltatás, és csendes összevonása megváltoztatja a számolást.
Azon a szinten távolítsa el az ismétlődéseket, amelyről a kérdés szól, és rögzítse, hány nyers sor olvadt be minden megtartott sorba. Ez az arány önmagában is lelet, mert a nagy beolvadás általában azt jelenti, hogy a forrás hallgatónként tesz közzé rekordokat. A sok címmel rendelkező szolgáltató az ellenkező mintát adja. Mindkettő helyes, és csak a rögzített arány teszi lehetővé az olvasónak, hogy megkülönböztesse őket.
Aztán tartsa meg a nyers sorokat. Az ismétlődésmentes tábla egy nézet, és az, hogy a nyers bemenetből újra felépíthető, teszi az eredményt reprodukálhatóvá.
Tegye közzé a lefedettségi nyilatkozatot
Adja meg, hogyan választották ki a forrásokat, mely régiókat vagy hálózatokat fedik le, és mi hiányzik szándékosan.
A magánvállalati végpontok és a meg nem hirdetett üzembe helyezések soha nem jelennek meg nyilvános listákon, így a könyvtárból való hiány csak azt bizonyítja, hogy a könyvtár nem listázta. Közzététel előtt ellenőrizze a forrás feltételeit és az újraelosztási engedélyeket, és távolítsa el a soha nem szükséges mezőket. Egy végpontvizsgálat ritkán igényel előfizetői személyazonosságokat, hitelesítő adatokat vagy böngészési előzményeket. Ezek közzététele más indoklású más projekt lenne.
wc -l vpn-endpoints.jsonl
jq -r '.unit' vpn-endpoints.jsonl | sort | uniq -c
jq -r '.advertised_country' vpn-endpoints.jsonl | sort | uniq -c | sort -rn | head
Ez a három parancs sorszámot, egységbontást és lefedettségi vázlatot ad a meghirdetett ország szerint. Őrizzen meg dátumozott pillanatképeket, amikor a populáció változik, és különböztesse meg az elavultat a megerősített hiánytól. Egy világos populációjú, korlátozott adathalmaz jobb, mint az a nem alátámasztott állítás, hogy minden VPN-t tartalmaz az interneten.