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 -l
und -U
sind 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.