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解析,它會加快一點(取決於您的網絡)