我正在使用Perl Net :: Pcap模块从服务器上的接口捕获数据包,与此同时,我正在使用OmniPeek捕获数据包,该工具类似于Wireshark。
如果我比较两者捕获的数据包,则Net :: Pcap捕获的数据包的数量较少,这意味着Net :: Pcap不会捕获或丢失某些数据包,而我很确定OmniPeek捕获了所有数据包
我可以说Net :: Pcap确实捕获了大多数数据包,也许超过了99%, 但这并不是OmniPeek的100%。 在什么情况下很难捕获Net :: Pcap丢失或无法捕获某些数据包。 我想知道Perl函数上是否有任何选项可以将捕获率提高到接近100%。
$pcap_t = Net::Pcap::open_live($dev, 2048, 1, 0, \$err);
Net::Pcap::loop($pcap_t, 0, \&my_code, "1234");
sub my_code {
...
}
大多数被捕获的数据包都是“ my_code”的,但是其中一些 永远不会进入“ my_code”。
我正在使用的Perl版本是v5.16.3。
没有错误消息。 捕获数据包有效,但是有些数据包丢失了。