30 Ekim 2019 Çarşamba

jNetPcap

Giriş
Java ile Pcap için kullanılabilecek iki proje var.
1. jNetPcap
2. Pcap4J
İkisi arasındaki farkın açıklaması şöyle.
One difference that is obvious between the two projects is that jNetPcap uses JNI for access to native code. PCap4j uses JNA for access to native code and a "com.sun" JNA compatibility library.
FormatUtils Sınıfı
ip metodu
byte[] dizisini String'e çevirir. Örnek ver

Ip4 Sınıfı
destination metodu
byte[] döner. Örnek ver

source metodu
Örnek ver

Tcp Sınıfı
destination metodu
İsmi destination olmasına reğmen port numarasını döner.
Örnek ver

getPayload metodu
Örnek ver

getPayloadLength metodu
Örnek ver

seq metodu
Örnek ver

source metodu
İsmi source olmasına reğmen port numarasını döner.
Örnek ver

Pcap Sınıfı
findAllDevices metodu
Örnek ver


loop metodu
Şöyle yaparız.
StringBuilder errbuf = new StringBuilder();
Pcap pcap = Pcap.openOffline(this.pcapFilename, errbuf);

if (pcap == null) {
  throw new IOException(errbuf.toString());
}

JPacketHandler<StringBuilder> packetHandler = new JPacketHandler<StringBuilder>() {
  @Override
  public void nextPacket(JPacket packet, StringBuilder user) {
    System.out.println("Next Packet");    
  }
};
pcap.loop(-1, packetHandler, errbuf);
pcap.close();
openLive metodu
Örnek ver

openOffline metodu
Şöyle yaparız.
StringBuilder errbuf = new StringBuilder();
Pcap pcap = Pcap.openOffline(this.pcapFilename, errbuf);
PcapPacket Sınıfı
hasHeader metodu
Şöyle yaparız.
PcapPacket packet = ...;
if (packet.hasHeader(udp)) {
  ...
}
PcapPacketHander Arayüzü
nextPacket metodu
İmzası şöyle.
@Override
public void nextPacket(PcapPacket packet, Object arg1);

Hiç yorum yok:

Yorum Gönder