我正在寻找一种快速解析PCAP文件包的方法。
我目前正在使用jNetPcap:
Pcap pcap = Pcap.openOffline(file, errbuf);
pcap.loop(10, jpacketHandler, "jNetPcap rocks!");
但它很慢,有没有其他优秀的Java库可以解析PCAP文件?
答案 0 :(得分:4)
偶然发现了Java中的pcap解析任务,发现了pcap parser in Kaitai Struct。令人惊讶的是,它变得非常快 - 可能是因为它不是C pcap库的包装器,而只是一个原始解析器。我的平均结果(当然是在同一个方框中)如下:
因此,如果您不需要捕获,我会全心全意地推荐尝试使用Kaitai Struct解析器。
答案 1 :(得分:3)
答案 2 :(得分:0)
您可以使用Jxnet。与jnetpcap一样,Jxnet使用直接缓冲区来最大程度地减少不必要的内存复制,Jxnet也使用netty-buffer(UnsafeBuffer)来对数据包进行解码和编码。