Čo znamená jeden riadok v súbore údajov o VPN a prečo je to dôležité
Poskytovateľ, koncový bod, výstupná adresa a dosiahnuteľnosť sú štyri rôzne riadky. Vyberte jednotku, zachovajte pôvod, publikujte, čo súbor nepokrýva.
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.
| 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 |
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.