tcpdump mit rotierenden capture-files

Manchmal kommt es vor, das man vor einem schwer zu debuggenden Problem steht und deswegen tcpdump nutzt um die dumps nachher mit Wireshark zu analysieren. Wenn tcpdump allerdings länger läuft, werden die Dumps meist mehrere 100 MiB gross, so dass diese sich nicht mehr allzu schnell bearbeiten lassen.

Abhilfe schafft tcpdump selbst – es kann die Datei selbständig rotieren, so dass die Dateigröße klein gehalten werden kann. Hier ein Beispiel, um ein Log jede Stunde rotieren zu lassen

tcpdump -pni eth0 -s65535 -G 3600 -w 'trace_%Y-%m-%d_%H:%M:%S.pcap'

-G ist dabei die Zeit in sekunden zwischen den rotationen. -w akzeptiert dann strftime-Platzhalter – bei dem Beispiel würde die Datei z.B. trace_2010-08-30_13:04:55.pcap heißen können. Alle Platzhalter sind in strftime(3) dokumentiert.

Als alternative zum rotieren “nach x Sekunden”, bietet tcpdump mit der Option -C auch die Möglichkeit das Capturefile zu rotieren, wenn eine gewisse Dateigröße erreicht wurde. Um die Dateigröße auf 100MB zu beschränken, kann man folgenden Befehl verwenden

tcpdump -pni eth0 -s65535 -C 100 -w capture

Zusammen mit -C werden bei -w allerdings keine strftime-Platzhalter mehr ausgewertet. Die Dateinamen sind einfach der Reihenfolge nach capture, capture1, capture2, …, capture<n>.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>