尝试使用jpcap捕获数据包。 但由于某种原因,我的代码不会打印出包。只能是设备。 我不明白为什么它不起作用。
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());
//
}
}
我的编译器输出.-
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)