提问人:Amirhossein Rezvani 提问时间:10/25/2023 最后编辑:Amirhossein Rezvani 更新时间:10/26/2023 访问量:26
PCAP4J 无法捕获所有 trafic
pcap4j failes to capture all trafic
问:
我需要捕获来自网络接口的所有流量。现在我正在使用“libpcap”的“Pcap4j”包装器,因为我发现它很方便。
我编写的代码是:
try (PcapHandle handle =pcapNetworkInterface.openLive(Integer.MAX_VALUE,
PcapNetworkInterface.PromiscuousMode, -1)) {
handle.loop(-1,
(RawPacketListener) packet -> batch = batch.addAndCheck(packet));
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
batch 是 的实现,将堆积一些数据包以发送到下一步。P.S. 虽然这个线程没有完成批处理,但下一个线程不会访问它以防止锁定等待。
它如何无法捕获所有传递的数据包。而且它是如此随机。请为我提供一些方法,希望能解决这个问题,并提前感谢您。ConcurrentLinkedQueue
我尝试了不同的配置,包括混杂和非混杂模式、变体捕捉长度、捕获方式和,所有这些都无法正常工作。
我也尝试过,也失败了。handle.getNextRawPacket()
handle.getNextRawPacketEX()
jnetpcap
答: 暂无答案
评论