0

我想以 TCPDump 格式保存捕获的数据包。我正在使用带有 JPCap 库的 Java。但是,我无法使用 JpcapWriter.writePacket() 函数,它给了我一个 JVM 错误。这是导致 JVM 错误的代码: captor=JpcapCaptor.openDevice(interfaceList[interfaceNumber], 65535, true, 20); captor.setFilter("ip 和 tcp",true);

JpcapWriter writer=JpcapWriter.openDumpFile(captor,"pass.txt");

for(int i=0;i<10;i++){
      //capture a single packet
      Packet packet=captor.getPacket();
      //save it into the opened file
      writer.writePacket(packet);

    }
writer.close();

还有其他方法可以将它保存到 TCP 格式的文件中吗?

4

1 回答 1

0

你能解释一下你是如何调用写数据包的方法的吗?我用来写数据包的正常方式是

JpcapCaptor captor=JpcapCaptor.openDevice(device[index], 65535, false, 20);
JpcapWriter writer=JpcapWriter.openDumpFile(captor,"filename");
for(int i=0;i<10;i++){
  Packet packet=captor.getPacket();
    writer.writePacket(packet);
 }
writer.close();

它保存 TCPDump 格式数据包。

于 2012-10-08T04:58:04.367 回答