tcpdump减速...自己的过滤器?

时间:2013-02-28 11:37:24

标签: tcp udp ip packet-capture tcpdump

长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

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

这是一种已知行为吗?

1 个答案:

答案 0 :(得分:2)

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

查看转储结束时“内核”消息丢弃的XXXX数据包,看看是否有效丢失了一些消息。

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