所以我使用tcpdump将我的UDP数据包捕获到一个文件中。我现在有我的pcap文件包。现在我需要:
打开此文件的Java程序,解析它并将数据包内容一次一个地放入ByteBuffer中,这样我的协议解析器就可以处理从网络获取数据包时的每个数据包。我的协议解析器一定不关心它是由网络读取器还是由pcap处理器调用。
Java中是否有库或标准方法可以做到这一点?你能给我或指出一些源代码示例吗?谢谢!
答案 0 :(得分:3)
使用jpcap,这正是您所需要的。
答案 1 :(得分:0)
要从文件中读取并将其放入ByteBuffer,您可以使用
FileChannel in = new FileInputStream(filename).getChannel();
// read into a ByteBuffer from a file.
in.read(byteBuffer);