报告 tcpdump 进度?

报告 tcpdump 进度?

我运行 tcpdump 如下:

$ sudo tcpdump -i eth0 -w dump.pcap host 1.2.3.4
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

有没有办法查看到目前为止捕获了多少个数据包?显然 BSD 允许使用状态信号,但我使用的是 Linux。

答案1

您可能正在寻找-v的选项tcpdump。来自tcpdump 命令

   -v     ...
          When writing to a file with  the  -w  option,  report,   
          every 10 seconds, the number of packets captured.

示例输出:

$ tcpdump -v -i eth0 -w dump.pcap
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
Got 227

请注意,与手册页所述的相反,“Got X”在我可以测试的机器上每秒都会刷新一次(使用 tcpdump 4.9.2)。

答案2

您可以将tcpdump输出打印到 stdout 并将其通过管道传输到tee。这样,您既可以将输出保存到文件中,也可以将其打印到stdout。一旦有了这些,您就可以使用pv/ grep/tail或类似的东西来跟踪进度

相关内容