以TCPDump格式保存捕获的数据包(Java)

时间:2012-10-08 04:47:19

标签: java packet tcpdump jpcap

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

将其保存到TCPformat文件中的其他任何方式?

1 个答案:

答案 0 :(得分: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格式包。