2013-02-28 68 views
1

做多BPF过滤器减速tcpdumptcpdump减慢...自己的过滤器?

我重放一个数据包跟踪,其中所有数据包都有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 

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

这是一个已知的行为?

回答

2

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

看看在转储结束时看到“内核丢弃的XXXX数据包”消息,以查看是否有效地丢失了其中的某些消息。

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