1

长 BPF 过滤器会减慢速度tcpdump吗?

我重放所有数据包都有的数据包跟踪,ttl=k并等待ICMP消息返回。我一直注意到的是,如果我使用以下过滤器(在 eth0 上):

(ip and ip[8]=$k and src host $myAddress) or (icmp and dst host $myAddress and icmp[0]=11)

...我总是在发送的数据包中错过 20-30 个数据包,而如果我只是这样做:

ip

...然后在捕获文件上执行上述完全脱机过滤,我找到了我发送的所有数据包。

这是一种已知的行为吗?

4

1 回答 1

2

如果tcpdump速度不足以从队列中弹出捕获的数据包,内核可能会丢弃其中的一些。

查看转储末尾的“XXXX 数据包被内核丢弃”消息,看看它们是否有效地丢失了一些。

确保将-n选项添加到命令行。这将避免 DNS 解析,它会加快一点(取决于您的网络)

于 2013-02-28T19:27:45.423 回答