Wie lese ich die Ausgabe von tcpdump so schnell, wie sie auf dem Terminal ausgedruckt wird?

Wie lese ich die Ausgabe von tcpdump so schnell, wie sie auf dem Terminal ausgedruckt wird?

Wenn tcpdump auf der Befehlszeile ausgeführt wird, werden Pakete in Echtzeit angezeigt, wenn sie empfangen werden. Wenn tcpdump jedoch in etwas weitergeleitet wird, greift es auf gepufferte Ausgabe zurück. Die Optionen -lund -Usind verfügbar, um dies zu konfigurieren. Ich stelle jedoch fest, dass das Ergebnis, egal welche Optionen ich einstelle, nie so schnell ist wie bei der Ausführung über die reine CLI. Ich habe Python mit Subprocess, Tee und sogar einem Rust-Wrapper ausprobiert. Pakete scheinen immer in Stapeln ausgegeben zu werden.

Irgendwelche Ideen?

Antwort1

tcpdump verfügt jetzt über --immediate-mode, wodurch dieses Problem für mich gelöst wurde. Um es zum Laufen zu bringen, habe ich es in Verbindung mit verwendet -l.

Sehendiese Antwort.

verwandte Informationen