我尝试过以下代码:
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中我没有得到任何接口.. 没有语法错误..
答案 0 :(得分:0)
这可能是Linux无法检测到的界面,因此它也无法用于任何Java程序。如果运行以下命令,会得到什么?
sudo ifconfig
将其添加到问题中,以便更容易诊断问题。这里有一个相关的问题,在Unix / Linux StackExchange上:
https://unix.stackexchange.com/questions/48980/cannot-get-realtek-r8168-ethernet-card-up/52451#52451
答案 1 :(得分:0)
当我在Ubuntu 11.10和netbeans中运行时,我遇到了同样的问题。当我尝试使用终端运行jar文件(具有sudo权限)时,它工作。我认为问题在于linux中的权限。
尝试在终端sudo java -jar YourJarFile.jar