Bir pcap dosyasını daha küçük bir gruba ayırma


47

(Tcpdump tarafından oluşturulan) büyük bir pcap dosyası var. Wireshark'ta açmaya çalıştığımda, program yanıt vermiyor. Bir dosyayı daha küçük dosyalara bölmenin bir yolu var mı? Bir dosyada yakalanan trafik iki sunucuda iki program tarafından oluşturulur, bu nedenle tcpdump 'host' veya 'port' filtrelerini kullanarak dosyayı bölemezim. Ayrıca linux 'split' komutunu da denedim :-) ama şanssız. Wireshark formatı tanımıyordu.


Ne kadar büyük? Mevcut RAM'den çok mu büyük?
pehrs,

2
Biraz geç, ancak Wireshark'ın çıktısı olan dosyaları okumamasının nedeni splitbölünmenin kesin bayt sınırlarına bölünmesidir. Bunun, dosya içeriğinin bir bölümünü geçersiz kılan bir paketi bölme olasılığı yüksektir.
Burhan Ali,

Yanıtlar:


72

Tcpdump işlevini -C, -r ve -w seçenekleriyle kullanabilirsiniz

tcpdump -r old_file -w new_files -C 10

"-C" seçeneği ayrılacak dosyanın boyutunu belirtir. Örn .: Yukarıdaki durumda, her biri yeni dosya boyutu 10 milyon bayttır.


Sen harika bir insansın Dan.
lobi,

Bir oturumu bölmeden bunu yapmanın bir yolu var mı? (Tek bir oturumun boyut sınırı bağımsız değişkeninden daha küçük olduğunu varsayarsak).
spanishgum

Çabuk: tcpdump -r old_file -w new_files -C 1000 kaydedilmiş trafiğin her 955MB’inde olur
gies0r

18

editcapWireshark ile dağıtılan yardımcı programı kullanın .


5
editpcap -c 1000 input.pcap output.pcapbölecek input.pcapyakalama 1000 paket maksimum yakalar içine. Çıktı, biçimlendirilmiş çoklu yakalama dosyaları olacakoutput_{index}_{timestamp}.pcap
blachniet

1
Örnek için teşekkür ederim blachniet! Ama bu sadece editcap, değil editpcapmi?
17'de 08

3

Bu cevabın biraz geç olduğunu biliyorum ama başka insanlara da hizmet edebilir. PAPSplitter : pcap dosyaları bölmek için harika bir araç buldum . Çapraz platform (Win32, Linux ve Mac OS) anlamına gelen PcapPlusPlus kütüphanesinin bir parçası ve pcap dosyalarını dosya boyutu (ihtiyaç duyduğunuz gibi) gibi farklı ölçütlere göre ve aynı zamanda bağlantı, müşteri / sunucu olarak da bölebilir IP, sunucu portu (protokole benzer), paket sayımı vb. Çok faydalı buldum. Yukarıdaki bağlantı kaynak kodu içindir, ancak nasıl derlenmesini istemiyorsanız / bilmek istemiyorsanız, bu aracı kullandığım birkaç platform için derlenmiş ikili dosyalar oluşturdum . Bu aracı çok tavsiye ederim

EDIT: görünüşe göre PcapPlusPlus'ın yeni bir sürümü piyasaya sürüldü ve oldukça fazla platform için PcapSplitter ikili dosyaları içeriyor (Windows, Ubuntu 12.04 / 14.04, Mac OSX Mavericks / Yosemite / El Captian). Bu ikili dosyaları kullanmak daha önce verdiğim bağlantıdan daha iyi olduğunu düşünüyorum. Burada bulabilirsiniz


2

Gitmenin en iyi ve en hızlı yolu, örneğin büyük paket döküm dosyalarını oturumlara dayanarak bölen SplitCap kullanmaktır. Bu şekilde, her TCP oturumunu ayrı bir PCAP dosyasında elde edersiniz. SplitCap ayrıca paketleri IP adreslerine dayanan pcap dosyalarına ayırabilir.

Netresec blogunda SplitCap hakkında daha fazla bilgi edinebilirsiniz: http://www.netresec.com/?page=Blog&month=2011-05&post=Split-or-filter-your-PCAP-files-with-SplitCap

SplitCap'i buradan indirin: http://www.netresec.com/?page=SplitCap

İyi şanslar!


Herhangi bir linux sürümü var mı?
ychaouche

Bu güzel bir programdır, pcapng dosyalarıyla çalışabilme özelliğine sahip değildir.
Guntram Blohm

0
tcpdump -w trace.pcap -W 48 -G 300 -C 100 -i any port 41110
  • -G 300 5 dakika içinde dönecek
  • -W 48 dosya sayısı
  • -C 100 dosya boyutu 100 MB
  • port uygulamaya göre bağlantı noktasını belirleyebilirsiniz.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.