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