我在使用 tcpdump 时遇到了一个奇怪的问题 - 好像我想要应用于捕获的数据包的过滤器无法立即起作用。也许这很正常,但老实说,我以前从未见过这种情况。以下是一个例子:
tcpdump -i ife0 -n not udp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ife0, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
08:23:24.720889 IP 10.0.21.67.45892 > 10.2.32.7.667: UDP, length 37
08:23:24.721170 IP 10.2.32.7.5778 > 10.0.21.67.45892: UDP, length 10
这种情况并非每次都会发生,有时我看到 2 个数据包,有时更多。ife0 是一个 GRE 接口(流量不大,UDP 数据包较小,通常约为 150 pps)。我使用的是 tcpdump 版本 4.1-PRE-CVS_2015_07_23 和 libpcap 版本 1.4.0