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.

UnitThe row assertsWhat a count of it means
ProviderAn organisation offers a serviceHow many operators appear
EndpointAn address and port speak a protocolHow many listeners were advertised
Exit addressTraffic left from an addressHow many apparent origins exist
ObservationA probe saw a resultHow 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.

Kapcsolódó cikkek