Spýtajte sa, čo predstavuje jeden riadok súboru údajov o VPN, a odpovede sa množia: firma, poslucháč, verejná výstupná adresa, výsledok dosiahnuteľnosti. Každá je legitímna a ich miešanie bez označení dáva súčet, ktorý znie presne a neznamená nič. Jednotka je dizajnové rozhodnutie a musí sa prijať pred prvým počítaním. Väčšina zmätkov v zverejnenej štatistike VPN pochádza z vynechania tohto kroku.

Riadok je tvrdenie, nie vec

Každý riadok tvrdí niečo o svete a tvrdenie má subjekt. Práve pomenovanie subjektu robí riadok porovnateľným s iným riadkom.

Riadok poskytovateľa tvrdí, že organizácia ponúka službu. Riadok koncového bodu tvrdí, že určitá adresa a port hovoria protokolom. Riadok výstupu tvrdí, že prevádzka v určitom čase opustila adresu. Riadok merania tvrdí, že sonda odniekiaľ pozorovala výsledok. Štyri subjekty, štyri schémy a súbor údajov, ktorý ich mieša bez rozlišovača, sa vôbec nedá agregovať.

Rozlišovač je najlacnejšia časť schémy a tá najčastejšie vynechávaná.

Vyberte jednotku pred počítaním

Vyberte jednotku, ktorá odpovedá na otázku, ktorú naozaj máte. Počítanie koncových bodov odpovedá, koľko poslucháčov bolo inzerovaných; počítanie poskytovateľov odpovedá, koľko organizácií sa zúčastnilo; počítanie výstupných adries odpovedá, koľko zdanlivých pôvodov existuje.

Tieto čísla nie sú zameniteľné a rozdiely sú veľké. Jeden poskytovateľ môže prevádzkovať tisíce adries a jedna adresa môže hostiť niekoľko protokolových poslucháčov pre rôzne služby. Počet adries preto nie je ani hornou, ani dolnou hranicou počtu poskytovateľov. Uvádzajte jednotku v tej istej vete ako číslo, zakaždým. Číslo bez jednotky je názor s desatinnou čiarkou.

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

Verejný adresár poskytuje inzerovaných účastníkov v danej službe. Nie je inventárom každého komerčného, organizačného a súkromného nasadenia na svete a jeho takéto chápanie nafukuje každú odvodenú štatistiku.

Pôvod patrí do schémy

Riadok bez pôvodu sa nedá znova overiť. Zaznamenajte zdrojový záznam, čas zberu s jeho časovým pásmom, metódu pozorovania a stav posledného videnia.

Uchovávajte inzerované atribúty oddelene od pozorovaných, pretože majú inú váhu. Krajinský štítok adresára je inzerované tvrdenie a nie je dôkazom fyzickej polohy servera. Priradenie IP identifikuje sieťový blok, nie každého nájomcu v ňom a nie súčasného prevádzkovateľa aplikácie navrchu. Dva stĺpce a poznámka zakaždým porazia jedno zlúčené pole.

{"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"}

Jediný riadok JSON robí schému konkrétnou a ľahšie sa o nej diskutuje než o odseku popisu. Všimnite si, že časová pečiatka nesie časové pásmo a metóda je pomenovaná, nie implikovaná.

Odstraňujte duplikáty podľa otázky

Duplikáty závisia od jednotky. Tá istá adresa s dvoma protokolovými poslucháčmi je jeden pár koncových bodov a dve služby a jej tiché zlúčenie mení počítanie.

Odstraňujte duplikáty na úrovni, na ktorú sa otázka pýta, a zaznamenajte, koľko surových riadkov sa zlialo do každého zachovaného riadku. Tento pomer je sám nálezom, pretože veľké zlúčenie zvyčajne znamená, že zdroj publikuje záznamy na poslucháča. Poskytovateľ s mnohými adresami dáva opačný vzor. Oba sú správne a iba zaznamenaný pomer umožňuje čitateľovi ich rozlíšiť.

Potom zachovajte surové riadky. Tabuľka bez duplikátov je pohľad a schopnosť zostaviť ju znova zo surového vstupu robí výsledok reprodukovateľným.

Zverejnite vyhlásenie o pokrytí

Uveďte, ako boli zdroje vybrané, ktoré regióny alebo siete pokrývajú a čo zámerne chýba.

Súkromné firemné koncové body a neinzerované nasadenia sa nikdy neobjavujú vo verejných zoznamoch, takže neprítomnosť v adresári dokazuje iba to, že ho adresár neuvedomil. Pred zverejnením skontrolujte podmienky zdroja a povolenia na redistribúciu a odstráňte polia, ktoré nikdy neboli potrebné. Štúdia koncových bodov zriedka vyžaduje identity predplatiteľov, prihlasovacie údaje alebo históriu prehliadania. Ich zverejnenie by bol iný projekt s iným odôvodnením.

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

Tieto tri príkazy dávajú počet riadkov, rozdelenie podľa jednotiek a náčrt pokrytia podľa inzerovanej krajiny. Uchovávajte datované snímky, keď sa populácia mení, a rozlišujte zastarané od potvrdenej neprítomnosti. Obmedzený súbor s jasnou populáciou je lepší než nepodložené tvrdenie, že obsahuje každý VPN na internete.

Súvisiace články