Zorluğum
Çok fazla veri tcpdumping yapmam gerekiyor - aslında çok fazla trafik görebilen karışık modda kalan 2 arayüzden.
Özetlersek
- Tüm trafiği 2 arabirimden karışık modda günlüğe kaydet
- Bu arayüzler edilir değil bir IP adresi atanır
- pcap dosyaları ~ 1G başına döndürülmelidir
- 10 TB dosya depolandığında, en eski dosyaları kırpmaya başlayın
Şu anda ne yapıyorum
Şu anda böyle tcpdump kullanıyorum:
ifconfig ethX promisc
ifconfig ethX promisc
tcpdump -n -C 1000 -z /data/compress.sh -i any -w /data/livedump/capture.pcap $FILTER
$FILTER
Ben kullanabilmesi için src / dst filtreler içeriyor -i any
. Bunun nedeni, iki arayüze sahip olduğum ve dökümü iki yerine tek bir iş parçacığında çalıştırmak istiyorum.
compress.sh
katranı başka bir CPU çekirdeğine atamaya özen gösterir, verileri sıkıştırır, makul bir dosya adı verir ve bir arşiv konumuna taşır.
İki arayüz belirleyemiyorum, bu yüzden filtreleri kullanmayı ve any
arayüzden dökümü seçtim .
Şu anda herhangi bir temizlik yapmıyorum, ancak diski izlemeyi planlıyorum ve 100G kaldığında en eski dosyaları silmeye başlayacağım - bu iyi olmalı.
Ve şimdi; benim sorunum
Düşen paketler görüyorum. Bu, birkaç saat boyunca çalışan ve yaklaşık 250 gig pcap dosyası toplayan bir dökümünden:
430083369 packets captured
430115470 packets received by filter
32057 packets dropped by kernel <-- This is my concern
Bu kadar çok paketin düşmesini nasıl önleyebilirim?
Zaten denediğim veya baktığım bu şeyler
Değerini değiştirdi /proc/sys/net/core/rmem_max
ve /proc/sys/net/core/rmem_default
bu gerçekten yardımcı oldu - aslında bırakılan paketlerin yaklaşık yarısını halletti.
Aynı zamanda gulp'a da baktım - gulp ile ilgili sorun, bir süreçte birden fazla arabirimi desteklememesi ve arayüzün bir IP adresi yoksa öfkelenmesidir. Ne yazık ki, bu benim durumumda bir anlaşma kırıcı.
Bir sonraki sorun, trafik bir borudan aktığında, otomatik dönüşün devam edememesidir. Bir büyük 10 TB dosyası almak çok verimli değil ve wireshark'ı çalıştırabileceğim 10 TB + RAM'li bir makinem yok, bu yüzden dışarıda.
Önerin var mı? Belki de trafik dökümü yapmanın daha iyi bir yolu.