JNetPacp работает только через раз - PullRequest
0 голосов
/ 30 октября 2019

Я использую следующий очень простой код JNetPacp. Однако код только «работает» каждый раз.

        System.out.println("ANALYZING: " + this.pcapFilename);
        StringBuilder errbuf = new StringBuilder();
        Pcap pcap = Pcap.openOffline(this.pcapFilename, errbuf);

        if (pcap == null) {
            throw new IOException(errbuf.toString());
        }

        System.out.println(pcap.toString());
        JPacketHandler<StringBuilder> packetHandler = new JPacketHandler<StringBuilder>() {
            final Tcp tcp = new Tcp();
            final Http http = new Http();

            @Override
            public void nextPacket(JPacket packet, StringBuilder user) {
                System.out.println("Next Packet");    
            }
        };
        pcap.loop(-1, packetHandler, errbuf);
        pcap.close();
        System.out.println("Error Buffer: " + errbuf.toString());

Я всегда анализирую один и тот же файл PCAP (tmp.pcap). Иногда он правильно читает записанные пакеты:

run:
ANALYZING: H:\tmp.pcap
WinPcap version 4.1.3 (packet.dll version 4.1.0.2980), based on libpcap version 1.0 branch 1_0_rel0b (20091008)
Next Packet
Next Packet
Next Packet
Next Packet
*[...]*
Next Packet
Next Packet
Next Packet
Next Packet
Next Packet
Error Buffer: 
BUILD SUCCESSFUL (total time: 3 seconds)

, а иногда нет:

run:
ANALYZING: H:\tmp.pcap
WinPcap version 4.1.3 (packet.dll version 4.1.0.2980), based on libpcap version 1.0 branch 1_0_rel0b (20091008)
Error Buffer: 
BUILD SUCCESSFUL (total time: 0 seconds)

Я понятия не имею, что мне не хватает.

Любая помощьоценили.

...