PCAP4J 无法捕获所有 trafic

pcap4j failes to capture all trafic

提问人:Amirhossein Rezvani 提问时间:10/25/2023 最后编辑:Amirhossein Rezvani 更新时间:10/26/2023 访问量:26

问:

我需要捕获来自网络接口的所有流量。现在我正在使用“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

java-8 libpcap 嗅探 pcap4j

评论


答: 暂无答案