Ko nozīmē viena rinda VPN datu kopā un kāpēc tas ir svarīgi
Pakalpojumu sniedzējs, galapunkts, izejas adrese un sasniedzamība ir četras dažādas rindas. Izvēlieties vienību, saglabājiet izcelsmi, publicējiet to, ko kopa neaptver.
Jautājiet, ko attēlo viena VPN datu kopas rinda, un atbildes vairojas: uzņēmums, klausītājs, publiska izejas adrese, sasniedzamības rezultāts. Katra ir likumīga, un to sajaukšana bez etiķetēm rada summu, kas izklausās precīza un neko nenozīmē. Vienība ir dizaina lēmums, un tas jāpieņem pirms pirmās skaitīšanas. Lielākā daļa apjukumu publicētajā VPN statistikā rodas, izlaižot šo soli.
Rinda ir apgalvojums, nevis lieta
Katra rinda apgalvo kaut ko par pasauli, un apgalvojumam ir subjekts. Tieši subjekta nosaukšana padara rindu salīdzināmu ar citu rindu.
Pakalpojumu sniedzēja rinda apgalvo, ka organizācija piedāvā pakalpojumu. Galapunkta rinda apgalvo, ka noteikta adrese un ports runā protokolā. Izejas rinda apgalvo, ka trafiks kādā brīdī atstāja adresi. Mērījuma rinda apgalvo, ka zonde no kaut kurienes novēroja rezultātu. Četri subjekti, četras shēmas, un kopa, kas tos sajauc bez atšķirēja, vispār nevar tikt apvienota.
Atšķirējs ir lētākā shēmas daļa un visbiežāk izlaistā.
Izvēlieties vienību pirms skaitīšanas
Izvēlieties vienību, kas atbild uz jautājumu, kurš jums patiešām ir. Galapunktu skaitīšana atbild, cik klausītāju tika paziņoti; pakalpojumu sniedzēju skaitīšana atbild, cik organizāciju piedalījās; izejas adrešu skaitīšana atbild, cik šķietamu izcelsmju pastāv.
Šie skaitļi nav savstarpēji aizstājami, un atšķirības ir lielas. Viens pakalpojumu sniedzējs var pārvaldīt tūkstošiem adrešu, un viena adrese var mitināt vairākus protokola klausītājus dažādiem pakalpojumiem. Tāpēc adrešu skaits nav ne augšējā, ne apakšējā robeža pakalpojumu sniedzēju skaitam. Katru reizi norādiet vienību tajā pašā teikumā ar skaitli. Skaitlis bez vienības ir viedoklis ar decimālkomatu.
| 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 |
Publisks katalogs sniedz tajā pakalpojumā paziņotos dalībniekus. Tas nav visu pasaules komerciālo, organizatorisko un privāto ieviešanu uzskaite, un tā uztveršana tādu uzpūš katru atvasināto statistiku.
Izcelsme pieder shēmai
Rindu bez izcelsmes nevar atkārtoti pārbaudīt. Ierakstiet avota ierakstu, vākšanas laiku ar tā laika joslu, novērošanas metodi un pēdējās redzēšanas statusu.
Turiet paziņotos atribūtus atsevišķi no novērotajiem, jo tiem ir atšķirīgs svars. Kataloga valsts etiķete ir paziņots apgalvojums, un tā nav servera fiziskās atrašanās vietas pierādījums. IP piešķīrums identificē tīkla bloku, nevis katru īrnieku tajā, un nevis virsū esošās lietotnes pašreizējo operatoru. Divas kolonnas un piezīme katru reizi pārspēj vienu apvienotu lauku.
{"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"}
Viena JSON rinda padara shēmu konkrētu, un par to ir vieglāk diskutēt nekā par apraksta rindkopu. Ievērojiet, ka laikspiedolam ir laika josla un metode ir nosaukta, nevis netieša.
Noņemiet dublikātus atbilstoši jautājumam
Dublikāti ir atkarīgi no vienības. Tā pati adrese ar diviem protokola klausītājiem ir viens galapunktu pāris un divi pakalpojumi, un tās klusā apvienošana maina skaitīšanu.
Noņemiet dublikātus tajā līmenī, par kuru jautā jautājums, un ierakstiet, cik neapstrādātu rindu sabruka katrā saglabātajā rindā. Šī attiecība pati par sevi ir atradums, jo liela sabrukšana parasti nozīmē, ka avots publicē ierakstus pa klausītājiem. Pakalpojumu sniedzējs ar daudzām adresēm rada pretēju modeli. Abi ir pareizi, un tikai ierakstītā attiecība ļauj lasītājam tos atšķirt.
Pēc tam saglabājiet neapstrādātās rindas. Tabula bez dublikātiem ir skats, un iespēja to no jauna uzbūvēt no neapstrādātās ievades padara rezultātu atkārtojamu.
Publicējiet pārklājuma paziņojumu
Norādiet, kā tika atlasīti avoti, kuras reģionus vai tīklus tie aptver un kas apzināti trūkst.
Privātie uzņēmumu galapunkti un nepaziņotās ieviešanas nekad neparādās publiskos sarakstos, tāpēc neesamība katalogā pierāda tikai to, ka katalogs to nav iekļāvis. Pirms publicēšanas pārbaudiet avota noteikumus un tālākizplatīšanas atļaujas, un noņemiet laukus, kas nekad nav bijuši vajadzīgi. Galapunktu pētījumam reti nepieciešamas abonentu identitātes, akreditācijas dati vai pārlūkošanas vēsture. To publicēšana būtu cits projekts ar citu pamatojumu.
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
Šīs trīs komandas dod rindu skaitu, sadalījumu pa vienībām un pārklājuma skici pēc paziņotās valsts. Saglabājiet datētus momentuzņēmumus, kad populācija mainās, un atšķiriet novecojušu no apstiprinātas neesamības. Noteikta kopa ar skaidru populāciju pārspēj nepamatotu apgalvojumu, ka tajā ir ikviens interneta VPN.