1

オンラインで見つけた古いチュートリアルを使用して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());

    }
}
4

1 に答える 1

2

抽象メソッドを継承しない

エラーは、抽象メソッドを実装していないということではありませんか?

によると:

receivePacketあなたのメソッドは代わりに呼び出されるべきですhandlePacket

于 2011-09-01T03:46:07.203 に答える