tcpdump 抑制脚本中的控制台输出并写入文件

tcpdump suppress console output in script & write to file

在 bash 脚本中,我需要 运行 一个 tcpdump 命令并将输出保存到一个文件中,但是当我通过 > /tmp/test.txt 执行此操作时,我仍然会在控制台:

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 1500 bytes
1 packet captured
1 packet received by filter
0 packets dropped by kernel

但是我在脚本中等待命令完成后再继续。

是否可以抑制这个输出?

您看到的输出是写入 stderr,而不是 stdout,因此如果您不想看到它,可以将其重定向到 /dev/null。例如:

 tcpdump -nn -v -i eth0 -s 1500 -c 1 'ether proto 0x88cc' > /tmp/test.txt 2> /dev/null