Попитайте какво представлява един ред от набор от данни за VPN и отговорите се множат: компания, слушател, публичен адрес за изход, резултат за достъпност. Всеки е законен, а смесването им без етикети дава обща сума, която звучи точно и не означава нищо. Единицата е проектно решение и трябва да бъде взето преди първото броене. Повечето объркване в публикуваната статистика за VPN идва от пропускането на тази стъпка.

Редът е твърдение, а не вещ

Всеки ред твърди нещо за света и твърдението има субект. Именно именуването на субекта прави реда сравним с друг ред.

Редът на доставчика твърди, че организация предлага услуга. Редът на крайната точка твърди, че определен адрес и порт говорят протокол. Редът за изход твърди, че трафикът е напуснал адрес в даден момент. Редът за измерване твърди, че сонда от някъде е наблюдавала резултат. Четири субекта, четири схеми и набор от данни, който ги смесва без различител, не може да бъде агрегиран изобщо.

Различителят е най-евтината част от схемата и най-често пропусканата.

Изберете единицата преди броенето

Изберете единицата, която отговаря на въпроса, който наистина имате. Броенето на крайни точки отговаря колко слушатели са били обявени; броенето на доставчици отговаря колко организации са участвали; броенето на адреси за изход отговаря колко привидни източника съществуват.

Тези числа не са взаимозаменяеми и разликите са големи. Един доставчик може да управлява хиляди адреси, а един адрес може да подслони няколко протоколни слушателя за различни услуги. Затова броят на адресите не е нито горна, нито долна граница за броя на доставчиците. Посочвайте единицата в същото изречение с числото, всеки път. Число без единица е мнение с десетична запетая.

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

Публичният указател предоставя обявените участници в тази услуга. Той не е инвентар на всяко търговско, организационно и частно внедряване по света и третирането му като такъв надува всяка производна статистика.

Произходът принадлежи на схемата

Ред без произход не може да бъде проверен отново. Записвайте източния запис, времето на събиране с неговата часова зона, метода на наблюдение и статуса на последно виждане.

Пазете обявените атрибути отделно от наблюдаваните, защото носят различно тегло. Държавният етикет на указателя е обявено твърдение, а не доказателство за физическото местоположение на сървъра. Разпределението на 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 в интернет.

Подобни статии