1

我尝试了以下代码:

NetworkInterface[] devices = JpcapCaptor.getDeviceList();
    JpcapCaptor jpcap = null;
    System.out.print(devices.length);
    for (int a=0;a<devices.length;a++)
    {
        try
        {
            jpcap = JpcapCaptor.openDevice(devices[a], 2000, true, 20);
            jpcap.loopPacket(-1, new arp_spoofing());//for capture packet
        } 
        catch (IOException ex) 
        {
            Logger.getLogger(Receiver2.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

在相同的代码中。当我在 Windows 中运行时,我得到了一些界面,但在 linux 中我没有得到任何界面.. 没有语法错误..

4

2 回答 2

0

这可能是 Linux 无法检测到该接口,因此它也不适用于任何 Java 程序。如果运行以下命令会得到什么?

sudo ifconfig 

将其添加到问题中,以便更容易诊断问题。这里有一个相关的问题,在 Unix/Linux StackExchange 上:

https://unix.stackexchange.com/questions/48980/cannot-get-realtek-r8168-ethernet-card-up/52451#52451

于 2013-02-16T23:46:14.533 回答
0

当我在 Ubuntu 11.10 和 netbeans 中运行时,我遇到了同样的问题。当我尝试使用终端(具有 sudo 权限)运行 jar 文件时,它起作用了。我认为问题在于linux中的权限。

尝试在终端中运行 .jar 文件sudo java -jar YourJarFile.jar

于 2013-02-18T10:39:22.167 回答