tcpdump, Ausgabe wieder "live" bekommen

Lord Gurke

Nur echt mit 32 Zähnen
Hallo,

mit irgendeinem Update von tcpdump (schon vor einiger Zeit) ist das Verhalten gekommen, dass die Ausgabe "ruckelig" ausgegeben wird - also nicht mehr live sondern nur noch alle 500ms mal wieder alle in dem letzten Zeitfenster empfangenen Pakete.
Das mag ja Vorteile für die Lesbarkeit haben - aber für mein Einsatzszenario ist es gerade ein echter Nachteil...

Ist das ein Bug oder ein Feature, was man irgendwie abstellen kann?
Ich habe schon mit den Parametern für die Output- und Input-Buffers herumgespielt, aber keine echte Verbesserung bemerkt.

Danke!
 
Du meinst nicht zufällig die nachfolgende Option? Die ist mir dabei zumindestens sofort eingefallen.

Code:
       -l     Make stdout line buffered.  Useful if you want to see the data while capturing it.  E.g.,

                     tcpdump -l | tee dat

              or

                     tcpdump -l > dat & tail -f dat

              Note that on Windows,``line buffered'' means ``unbuffered'', so that WinDump will write each character individually if -l is specified.

              -U  is similar to -l in its behavior, but it will cause output to be ``packet-buffered'', so that the output is written to stdout at the end of each packet rather than at
              the end of each line; this is buffered on all platforms, including Windows.


MfG Christian
 
Mit den beiden Optionen habe ich mal rumgespielt, aber üblicherweise lasse ich die weg. Das Problem ist mir bisher auch nur unter Ubuntu ab 14.04 aufgefallen...

Die Ausgabe scheint aber keinem echten Buffering-Konzept zu folgen sondern einfach nur stur 1x pro Sekunde eine Ausgabe zu liefern - unabhängig davon, ob da jetzt 10pps oder 5000pps kommen :(
Das passiert auch nur beim Live-Capturen. Wenn ich mit "-r" eine Datei verwende, rattert das einfach so durch.
 
Back
Top