Bir VPN paketinde kaç sağlama toplamı vardır? Duruma göre değişir
Sayı IP sürümlerine, taşınan protokole ve koruma biçimine bağlıdır. Başlık sağlama toplamları, üst katman sağlama toplamları ve bütünlük etiketleri farklıdır.
Bir VPN paketinin tam olarak iki sağlama toplamı taşıdığı iddiası düzenli kulağa gelir ve sökülmeye değecek kadar sık yanlıştır. Sayı hangi IP sürümlerinin göründüğüne, hangi taşıma protokolünün taşındığına ve tünelin hangi koruma biçimini kullandığına bağlıdır. Bir başlık sağlama toplamı, bir üst katman sağlama toplamı ve bir kriptografik bütünlük etiketi üç ayrı kapsama sahip üç mekanizmadır. Bunları saymak, her birinin neyi kapsadığını işaretlemekle başlar.
Hangi IP sürümlerinin gerçekten hatta olduğunu kontrol edin
IPv4 başlıkları 16 bitlik bir başlık sağlama toplamı taşır, IPv6 başlıkları ise böyle bir şey taşımaz. Bu tek gerçek her tünel için sayıyı değiştirir, çünkü IPv4'ü IPv6 içine ve IPv6'yı IPv4 içine sarmak farklı belgeler üretir. Bir tünel iki aileyi aynı anda taşıyabilir ve bu durumda bir yön diğerinde olmayan bir alan içerebilir. Herhangi bir şeyi saymadan önce sürümleri belirleyin.
Yerleşimi resim yerine başlık listesi olarak yazın. Kaydı okurken sıra önemlidir ve sağlama toplamı alanının varlığı ya da yokluğu ilk işaretlenmesi gereken şeydir.
outer IPv6 | ESP | inner IPv6 | UDP | application data
outer IPv4 | ESP | inner IPv4 | TCP | application data
Birinci satırda IP başlıklarının hiçbir yerinde IP başlık sağlama toplamı yoktur, ikinci satırda ise iki başlık da IPv4 olduğunda iki tane vardır. Aynı tünel teknolojisi, farklı sayı ve satırların hiçbiri tam hat biçimi değildir.
Her sağlama toplamının neyi kapsadığını kontrol edin
Kapsam insanların atladığı kısımdır ve sayıyı anlamlı kılan da odur. IPv4 başlık sağlama toplamı başlığı korur ve başka hiçbir şeyi, bu yüzden arkasındaki yük hakkında hiçbir şey söylemez. IPv6 üzerinde UDP sağlama toplamı bir sözde başlık ile UDP başlığını ve yükünü kapsar, yani veri gramı tünellendiğinde taşınan paketin içine kadar ulaşır. TCP'nin sözde başlığa benzer bağımlılığı olan kendi sağlama toplamı vardır. Üçü de sağlama toplamı diye adlandırılsa da bunlar üç farklı kapsamdır.
RFC 791 IPv4 başlık denetimini ve her atlamada yeniden hesaplanmasını tanımlar, RFC 8200 ise sözde başlık dahil IPv6 üzerinde üst katman işlemini tanımlar. Hiçbir belge bir VPN paketinin sabit sayıda sağlama toplamı taşıdığını söylemez, çünkü hiçbiri bir tüneli tarif etmez.
tshark -r capture.pcap -Y "ip.proto == 50" -V | grep -i checksum
Bütünlük korumasını ayrı olarak kontrol edin
ESP bütünlüğü kendi kapsamına ve algoritmaya bağlı bir gösterime sahip kriptografik bir korumadır. Başka bir ad altında IP veya UDP sağlama toplamı değildir ve uzunluğu seçilen yapıya göre değişir. Bir bütünlük denetimi paketin tanımlı bir bölümünü kapsar ve kullanılan moda göre ESP başlığını ve yükün bir bölümünü içerebilir. Onu bilinen genişlikte bir sağlama toplamı alanı olarak saymak, bu açıklamaların çoğunun dağıldığı yerdir.
Baytları saymadan önce seçilen yapıyı okuyun ve sonucu başka etiketli bir sağlama toplamı olarak değil bütünlük koruması olarak tanımlayın. Sorarsanız kod çözücü alanın adını size söyler.
tshark -r capture.pcap -Y esp -V | grep -iE "integrity|icv"
Saymadan önce gözlem noktasını kontrol edin
İç arabirimdeki bir kayıt ile hattaki bir kayıt tamamen farklı katmanlar gösterebilir. İç arabirimde tünel zaten sıyrılmıştır, bu yüzden taşınan paketi görürsünüz ve dış başlıkların hiçbirini görmezsiniz. Hatta dış başlıkları ve okuyamadığınız şifreli bir yükü görürsünüz. Hiçbir görünüm yanlış değildir ve bunlar aynı nesnenin görünümleri değildir. Herhangi bir sayı vermeden önce kaydın nerede alındığını belirtin.
sudo tcpdump -ni eth0 -vv -c 5 esp
sudo tcpdump -ni tun0 -vv -c 5
İlk komut dış paketi bütünlük kuyruğuyla gösterir, ikincisi taşınan paketi kendi taşıma sağlama toplamıyla gösterir. İki kayıttaki sayıları toplamak hiçbir şeyi iki kez saymaz, ama aynı paketi iki kez açıklar.
Sayıyı gerçek bir kayıtla karşılaştırın
Bir paketi tamamen çözün ve kod çözücünün sağlama toplamı ya da bütünlük değeri dediği her alanı işaretleyin. Sonra her işareti yazdığınız yerleşimle karşılaştırın ve gerçekte saymadığınız bir katmana ait olanları silin. Bu alıştırmadan sağ çıkan bir sayı savunulabilir, bellekten aktarılan bir sayı değildir.
Yanıt yönü için de tekrarlayın, çünkü iki aileyi taşıyan bir tünel yöne ve akışa göre farklılık gösterebilir. Ardından sayıyı kapsamıyla birlikte söyleyin, örneğin bu gözlem noktasında bu iç paket için üç sağlama toplamı, genel olarak VPN paketlerinin bir özelliği olarak değil.
tshark -r capture.pcap -T fields -e ip.checksum -e udp.checksum -e tcp.checksum