如何才能像将 tcpdump 的输出打印到终端一样快速地读取它的输出?

如何才能像将 tcpdump 的输出打印到终端一样快速地读取它的输出?

在命令行上运行 tcpdump 时,数据包在接收时会实时显示。但是,当 tcpdump 被管道传输到任何内容时,它都会使用缓冲输出。提供了-l-U选项以允许对此进行配置。但是,我发现无论我设置了什么选项,结果都不会像从原始 CLI 运行那样快。我尝试过使用 Python 的 subprocess、tee 甚至 Rust 包装器。数据包似乎总是分批输出。

有任何想法吗?

答案1

tcpdump 现在有了--immediate-mode,它帮我解决了这个问题。为了使它正常工作,我将其与 结合使用-l

这个答案

相关内容