Java JPCAP:尝试提取有效负载数据,但缺少getTCPData()方法

Java JPCAP:尝试提取有效负载数据,但缺少getTCPData()方法,java,network-programming,ubuntu-16.04,jpcap,netbeans-8.1,Java,Network Programming,Ubuntu 16.04,Jpcap,Netbeans 8.1,我使用的是Ubuntu 16.04 X86上的Jpcap版本0.7(Keita Fujii)库,我试图使用getcpdata()提取数据包有效负载数据,但缺少该方法 这是我的密码 import java.io.BufferedOutputStream; import jpcap.PacketReceiver; import jpcap.packet.ICMPPacket; import jpcap.packet.IPPacket; import jpcap.packet.Packet; impo

我使用的是Ubuntu 16.04 X86上的Jpcap版本0.7(Keita Fujii)库,我试图使用
getcpdata()
提取数据包有效负载数据,但缺少该方法

这是我的密码

import java.io.BufferedOutputStream;
import jpcap.PacketReceiver;
import jpcap.packet.ICMPPacket;
import jpcap.packet.IPPacket;
import jpcap.packet.Packet;
import jpcap.packet.TCPPacket;
import jpcap.packet.UDPPacket;

class PacketPrinter implements PacketReceiver, PacketListener {
    //this method is called every time Jpcap captures a packet


@Override
public void receivePacket(Packet packet) {
    if (packet instanceof TCPPacket) {
        TCPPacket pac = (TCPPacket) packet;
        byte[] data;
        data = pac.getTCPData();

        System.out.println("TCP ~~ Src: " + pac.src_ip + " Dest: " + pac.dst_ip + " dest port : " + pac.dst_port + " src port : " + pac.src_port);

    } else if (packet instanceof UDPPacket) {
        UDPPacket pac = (UDPPacket) packet;
        pac.
        System.out.println("UDP ~~ Src: " + pac.src_ip + " Dest: " + pac.dst_ip + " dest port : " + pac.dst_port + " src port : " + pac.src_port);

    } else if (packet instanceof ICMPPacket) {
        ICMPPacket pac = (ICMPPacket) packet;
        System.out.println("ICMP ~~ Src: " + pac.src_ip + " Dest: " + pac.dst_ip);

    } else if (packet instanceof IPPacket) {
        IPPacket pac = (IPPacket) packet;
        System.out.println("IP ~~ Src: " + pac.src_ip + " Dest: " + pac.dst_ip);

    }
}
}

任何帮助都将不胜感激。

实际上,有两个同名的类似项目:

  • 由Keita Fujii编写的Jpcap
  • 关于sourceforge的Jpcap
它们是独立开发的,我使用的是第一种,这就是为什么缺少这种方法。 sourceforge上的Jpcap具有更多功能