package com.ardikars.test.jxnet;
import java.nio.ByteBuffer;
import com.ardikars.jxnet.Jxnet;
import com.ardikars.jxnet.Pcap;
import com.ardikars.jxnet.PcapDumper;
import com.ardikars.jxnet.PcapHandler;
import com.ardikars.jxnet.PcapPktHdr;
public class SavingPacketsToADumpFileWithCallback {
public static void main(String[] args) {
StringBuilder errbuf = new StringBuilder();
String source = Jxnet.PcapLookupdev(errbuf);
if(source == null) {
System.err.println(errbuf.toString());
return;
}
Pcap pcap = Jxnet.PcapOpenLive(source, 65535, 1, 2000, errbuf);
if(pcap == null) {
System.err.println(errbuf.toString());
return;
}
PcapDumper pcap_dumper = Jxnet.PcapDumpOpen(pcap, "dump.pcap");
if(pcap_dumper == null) {
System.err.println(Jxnet.PcapGetErr(pcap));
Jxnet.PcapClose(pcap);
return;
}
PcapHandler callback = new PcapHandler() {
@Override
public void nextPacket(PcapDumper pcap_dumper, PcapPktHdr h, ByteBuffer sp) {
Jxnet.PcapDump(pcap_dumper, h, sp);
System.out.println(h);
System.out.println(sp);
}
};
Jxnet.PcapLoop(pcap, 10, callback, pcap_dumper);
Jxnet.PcapClose(pcap);
Jxnet.PcapDumpClose(pcap_dumper);
}
}
Comments
Post a Comment