在命令列上執行 tcpdump 時,資料包會在收到時即時顯示。然而,當 tcpdump 通過管道傳輸到任何內容時,它會訴諸緩衝輸出。提供-l
和-U
選項以允許對此進行配置。然而,我發現無論我設定什麼選項,結果都不會像從原始 CLI 運行那麼快。我嘗試過使用 Python 和 subprocess、tee,甚至 Rust 包裝器。資料包總是表現為批次輸出。
有任何想法嗎?
答案1
tcpdump 現在有了--immediate-mode
,它為我解決了這個問題。為了讓它工作,我將它與-l
.
看這個答案。