2017-05-03 2 views
0

Ubuntu 16.04 X86에서 Jpcap ver.0.7 (Keita Fujii) 라이브러리를 사용하고 있으며 getTCPData()을 사용하여 패킷 페이로드 데이터를 추출하려고합니다. 누락. JPCAP : 페이로드 데이터를 추출하려고했지만 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); 

    } 
} 
} 

내 코드입니다.

답변

1

사실이 같은 이름을 가진 두 개의 유사한 프로젝트입니다 :

  • Jpcap 케이타 후지이
  • Jpcap에 의해 소스 포지

에 그들은 독립적으로 개발과 내가 첫 번째를 사용하고, 이것이이 방법이 빠진 이유입니다. Jpcap on sourceforge에 더 많은 기능이 있습니다.

관련 문제