Bir VPN veri kümesinde tek satır ne anlama gelir ve bu neden önemlidir
Sağlayıcı, uç nokta, çıkış adresi ve erişilebilirlik dört farklı satırdır. Birimi seçin, kökeni koruyun, kümenin kapsamadığını yayımlayın.
Bir VPN veri kümesinin tek satırının neyi temsil ettiğini sorun, yanıtlar çoğalır: bir şirket, bir dinleyici, bir genel çıkış adresi, bir erişilebilirlik sonucu. Her biri meşrudur ve bunları etiketsiz karıştırmak, kesin kulağa gelen ama hiçbir şey ifade etmeyen bir toplam üretir. Birim bir tasarım kararıdır ve ilk sayımdan önce verilmelidir. Yayımlanmış VPN istatistiklerindeki karışıklığın çoğu bu adımın atlanmasından gelir.
Satır bir iddiadır, bir şey değil
Her satır dünya hakkında bir şey iddia eder ve iddianın bir öznesi vardır. Satırı başka bir satırla karşılaştırılabilir kılan, özneyi adlandırmaktır.
Sağlayıcı satırı bir kuruluşun hizmet sunduğunu iddia eder. Uç nokta satırı belirli bir adres ve bağlantı noktasının bir protokol konuştuğunu iddia eder. Çıkış satırı trafiğin bir anda bir adresten ayrıldığını iddia eder. Ölçüm satırı bir yerden gelen bir sondanın bir sonuç gözlediğini iddia eder. Dört özne, dört şema ve bunları bir ayırt edici olmadan karıştıran bir veri kümesi hiçbir şekilde toplanamaz.
Ayırt edici, şemanın en ucuz parçasıdır ve en sık atlanan parçadır.
Saymadan önce birimi seçin
Gerçekten sahip olduğunuz soruyu yanıtlayan birimi seçin. Uç noktaları saymak kaç dinleyicinin duyurulduğunu yanıtlar; sağlayıcıları saymak kaç kuruluşun yer aldığını yanıtlar; çıkış adreslerini saymak kaç görünür kaynağın var olduğunu yanıtlar.
Bu sayılar birbirinin yerine geçmez ve farklar büyüktür. Bir sağlayıcı binlerce adres işletebilir ve bir adres farklı hizmetler için birkaç protokol dinleyicisi barındırabilir. Bu nedenle adres sayısı, sağlayıcı sayısı için ne üst ne de alt sınırdır. Birimi her seferinde sayıyla aynı cümlede belirtin. Birimsiz sayı, ondalık noktalı bir görüştür.
| 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 |
Genel bir dizin o hizmette duyurulmuş katılımcıları sağlar. Dünyadaki her ticari, kurumsal ve özel kurulumun envanteri değildir ve öyle davranmak türetilen her istatistiği şişirir.
Köken şemaya aittir
Kökeni olmayan bir satır yeniden denetlenemez. Kaynak kaydı, toplama zamanını saat dilimiyle birlikte, gözlem yöntemini ve son görülme durumunu kaydedin.
Duyurulmuş nitelikleri gözlemlenenlerden ayrı tutun, çünkü farklı ağırlık taşırlar. Bir dizinin ülke etiketi duyurulmuş bir iddiadır ve bir sunucunun fiziksel konumunun kanıtı değildir. Bir IP tahsisi bir ağ bloğunu tanımlar, içindeki her kiracıyı değil ve üstündeki bir uygulamanın mevcut işletmecisini de değil. İki sütun ve bir not her seferinde birleştirilmiş tek alanı yener.
{"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"}
Tek bir JSON satırı şemayı somutlaştırır ve bir açıklama paragrafından tartışması daha kolaydır. Zaman damgasının bir saat dilimi taşıdığını ve yöntemin ima edilmek yerine adlandırıldığını fark edin.
Soruya göre yinelenenleri kaldırın
Yinelenenler birime bağlıdır. İki protokol dinleyicisi olan aynı adres bir uç nokta çifti ve iki hizmettir ve sessizce birleştirmek sayımı değiştirir.
Yinelenenleri sorunun sorduğu düzeyde kaldırın ve her korunan satıra kaç ham satırın katlandığını kaydedin. Bu oran kendi başına bir bulgudur, çünkü büyük bir katlanma genellikle kaynağın dinleyici başına kayıt yayımladığı anlamına gelir. Çok sayıda adres işleten bir sağlayıcı ters deseni üretir. İkisi de doğrudur ve yalnızca kaydedilen oran okuyucunun bunları ayırt etmesini sağlar.
Sonra ham satırları saklayın. Yinelenenleri kaldırılmış bir tablo bir görünümdür ve onu ham girdiden yeniden kurma yeteneği sonucu yeniden üretilebilir kılar.
Kapsam bildirimini yayımlayın
Kaynakların nasıl seçildiğini, hangi bölgeleri veya ağları kapsadığını ve neyin bilerek eksik olduğunu belirtin.
Özel kurumsal uç noktalar ve duyurulmamış kurulumlar genel listelerde asla görünmez, bu yüzden bir dizinde bulunmamak yalnızca dizinin onu listelemediğini kanıtlar. Yayımlamadan önce kaynağın koşullarını ve yeniden dağıtım izinlerini denetleyin ve hiç gerekli olmayan alanları kaldırın. Bir uç nokta çalışması nadiren abone kimlikleri, kimlik bilgileri veya tarama geçmişi gerektirir. Bunları yayımlamak başka bir gerekçeyle başka bir proje olurdu.
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
Bu üç komut bir satır sayısı, bir birim dağılımı ve duyurulan ülkeye göre kapsam taslağı verir. Popülasyon değiştiğinde tarihli anlık görüntüler saklayın ve eskimiş olanı doğrulanmış yokluktan ayırın. Açık bir popülasyona sahip sınırlı bir veri kümesi, internetteki her VPN’i içerdiğine dair desteksiz bir iddiadan daha iyidir.