使用 tcpdump 捕获流量时如何查看流量。
当我使用 -w 时,它不会在捕获期间显示数据包。
sudo tcpdump -i enp2s0 -w test.pcap
tcpdump: listening on enp2s0, link-type EN10MB (Ethernet), capture size 262144 bytes
^C6 packets captured
7 packets received by filter
0 packets dropped by kernel
使用 tcpdump 捕获流量时如何查看流量。
当我使用 -w 时,它不会在捕获期间显示数据包。
sudo tcpdump -i enp2s0 -w test.pcap
tcpdump: listening on enp2s0, link-type EN10MB (Ethernet), capture size 262144 bytes
^C6 packets captured
7 packets received by filter
0 packets dropped by kernel
因此,经过一些实验后,如果出现以下情况:
-w -
: 写入标准输出。-U
:一旦数据包到达就写入数据包。不要等到缓冲区已满。Tee
将写入文件,并tcpdump -r -
从标准输入读取数据包。-w
选项是将 tcpdump 输出写入文件。如果要在终端上打印,可以删除该选项。由于您使用选项 -w,因此数据包将保存到文件中,并且不会显示在标准输出中。这里来自 tcpdumup 联机帮助页:
https://www.tcpdump.org/manpages/tcpdump.1.html
如果你想同时做这两件事,这里有一种方法可以实现:
如何让 tcpdump 写入文件和标准输出适当的数据?
要将新进程附加到正在进行的转储,请尝试:
tail -F -n+0 $dumpfile | tcpdump -r -