Какво означава един ред в набор от данни за VPN и защо това е важно
Доставчик, крайна точка, адрес за изход и достъпност са четири различни реда. Изберете единицата, пазете произхода, публикувайте това, което наборът не покрива.
Попитайте какво представлява един ред от набор от данни за VPN и отговорите се множат: компания, слушател, публичен адрес за изход, резултат за достъпност. Всеки е законен, а смесването им без етикети дава обща сума, която звучи точно и не означава нищо. Единицата е проектно решение и трябва да бъде взето преди първото броене. Повечето объркване в публикуваната статистика за VPN идва от пропускането на тази стъпка.
Редът е твърдение, а не вещ
Всеки ред твърди нещо за света и твърдението има субект. Именно именуването на субекта прави реда сравним с друг ред.
Редът на доставчика твърди, че организация предлага услуга. Редът на крайната точка твърди, че определен адрес и порт говорят протокол. Редът за изход твърди, че трафикът е напуснал адрес в даден момент. Редът за измерване твърди, че сонда от някъде е наблюдавала резултат. Четири субекта, четири схеми и набор от данни, който ги смесва без различител, не може да бъде агрегиран изобщо.
Различителят е най-евтината част от схемата и най-често пропусканата.
Изберете единицата преди броенето
Изберете единицата, която отговаря на въпроса, който наистина имате. Броенето на крайни точки отговаря колко слушатели са били обявени; броенето на доставчици отговаря колко организации са участвали; броенето на адреси за изход отговаря колко привидни източника съществуват.
Тези числа не са взаимозаменяеми и разликите са големи. Един доставчик може да управлява хиляди адреси, а един адрес може да подслони няколко протоколни слушателя за различни услуги. Затова броят на адресите не е нито горна, нито долна граница за броя на доставчиците. Посочвайте единицата в същото изречение с числото, всеки път. Число без единица е мнение с десетична запетая.
| 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 |
Публичният указател предоставя обявените участници в тази услуга. Той не е инвентар на всяко търговско, организационно и частно внедряване по света и третирането му като такъв надува всяка производна статистика.
Произходът принадлежи на схемата
Ред без произход не може да бъде проверен отново. Записвайте източния запис, времето на събиране с неговата часова зона, метода на наблюдение и статуса на последно виждане.
Пазете обявените атрибути отделно от наблюдаваните, защото носят различно тегло. Държавният етикет на указателя е обявено твърдение, а не доказателство за физическото местоположение на сървъра. Разпределението на IP идентифицира мрежов блок, а не всеки наемател в него и не текущия оператор на приложение отгоре. Две колони и бележка винаги побеждават едно слято поле.
{"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"}
Един ред JSON прави схемата конкретна и е по-лесен за обсъждане от абзац описание. Отбележете, че клеймото за време носи часова зона, а методът е назован, а не подразбиран.
Премахвайте дубликатите според въпроса
Дубликатите зависят от единицата. Същият адрес с два протоколни слушателя е една двойка крайни точки и две услуги и безшумното му сливане променя броя.
Премахвайте дубликатите на нивото, за което пита въпросът, и записвайте колко сурови реда са се слели във всеки запазен ред. Това съотношение само по себе си е находка, защото голямото сливане обикновено означава, че източникът публикува записи за всеки слушател. Доставчик с много адреси дава обратния модел. И двете са правилни и само записаното съотношение позволява на читателя да ги различи.
След това запазете суровите редове. Таблица без дубликати е изглед и способността да я изградите отново от суровия вход прави резултата възпроизводим.
Публикувайте изявлението за обхват
Опишете как са избрани източниците, кои региони или мрежи покриват и какво умишлено липсва.
Частните корпоративни крайни точки и необявените внедрявания никога не се появяват в публични списъци, така че липсата в указател доказва само, че указателят не го е включил. Проверете условията на източника и разрешенията за разпространение преди публикуване и премахнете полета, които никога не са били нужни. Проучване на крайни точки рядко изисква самоличност на абонати, удостоверения или история на сърфирането. Публикуването им би било друг проект с друго обосноваване.
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
Тези три команди дават брой редове, разбивка по единици и скица на обхвата по обявена държава. Пазете датирани снимки, когато популацията се променя, и различавайте остарялото от потвърденото отсъствие. Ограничен набор от данни с ясна популация е по-добър от неподкрепено твърдение, че съдържа всеки VPN в интернет.