Trying to capture packets using jpcap. However for some reason,my code will not print out packets.Only devices. I don't understand why it's not working.
import jpcap.PacketReceiver;
import jpcap.JpcapCaptor;
import jpcap.NetworkInterface;
import jpcap.packet.Packet;
import jpcap.*;
public class JpcapTip implements PacketReceiver {
public void receivePacket(Packet packet){
System.out.println(packet);
// System.out.println(packet.toString());
}
public static void main(String[] args) throws java.io.IOException{
NetworkInterface[] devices = JpcapCaptor.getDeviceList();
for (int i = 0; i < devices.length; i++) {
System.out.println(devices[i].description); // devices[0]
}
NetworkInterface deviceName = devices[0];
JpcapCaptor jpcap = JpcapCaptor.openDevice(devices[0], 1028, false, 1);
jpcap.loopPacket(-1, new JpcapTip());
//
}
}
My compiler output.-
run:
Microsoft
Qualcomm Atheros Ar81xx series PCI-E Ethernet Controller
Microsoft
java.lang.NoSuchMethodError: setRoutingOption
at jpcap.JpcapCaptor.nativeOpenLive(Native Method)
at jpcap.JpcapCaptor.openDevice(JpcapCaptor.java:68)
at JpcapTip.main(JpcapTip.java:23)