我正在尝试使用我在网上找到的旧教程在Java中编写数据包嗅探器,但调试时遇到问题。我收到一个错误,说明我的类pktSniffer没有继承抽象方法。
import jpcap.*;
import jpcap.packet.Packet;
import jpcap.PacketReceiver;
public class pktSniffer implements PacketReceiver {
public void handlePacket(Packet packet){
System.out.println(packet);
}
public static void main(String[] args) throws java.io.IOException{
NetworkInterface[] lists=jpcap.JpcapCaptor.getDeviceList();
System.out.println("\n\t\t***Network Sniffer***\n");
System.out.println("Found the following devices : ");
for(NetworkInterface s: lists)
{
System.out.println("Name: " + s.name +" Description: " + s.description);
}
JpcapCaptor jpcap=JpcapCaptor.openDevice(JpcapCaptor.getDeviceList()[1],1000,false,20);
jpcap.loopPacket(-1,new pktSniffer());
}
}
答案 0 :(得分:2)
不继承抽象方法
您确定错误并非实施一种抽象方法吗?
根据:
和
您的方法应该调用receivePacket
而不是handlePacket