簡體   English   中英

JPCAP:嘗試提取有效載荷數據,但缺少getTCPData()方法

[英]JPCAP: Trying to extract the payload data but getTCPData() method is missing

我在Ubuntu 16.04 X86上使用Jpcap ver.0.7(Keita Fujii)庫,並且嘗試使用getTCPData()提取數據包有效載荷數據,但該方法丟失了。

這是我的代碼

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);

    }
}
}

任何幫助,將不勝感激。

實際上,有兩個名稱相同的類似項目:

  • Jpcap by藤田圭太
  • Sourceforge上的JPcap

它們是獨立開發的,而我正在使用第一個,這就是缺少此方法的原因。 Sourceforge上的Jpcap具有更多功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM