Java getDeviceList()返回一个空数组
我是Jpcap的新手。我正在使用Java getDeviceList()返回一个空数组,java,linux,networking,network-programming,jpcap,Java,Linux,Networking,Network Programming,Jpcap,我是Jpcap的新手。我正在使用 NetworkInterface[] arr=JpcapCaptor.getDeviceList(); System.out.println(arr.length); 从Jpcap获取设备。但它返回一个空数组。当我打印数组的长度时,它是0。我正在使用Ubuntu11.10并使用sudo-apt-get-install-libpcap-dev安装libpcap。我的类路径中有jpcap.jar。我不明白为什么我没有网络设备。有人能帮我吗 编辑: 当我在终端中运行
NetworkInterface[] arr=JpcapCaptor.getDeviceList();
System.out.println(arr.length);
从Jpcap获取设备。但它返回一个空数组。当我打印数组的长度时,它是0。我正在使用Ubuntu11.10并使用sudo-apt-get-install-libpcap-dev
安装libpcap。我的类路径中有jpcap.jar。我不明白为什么我没有网络设备。有人能帮我吗
编辑:
当我在终端中运行ifconfig
时,我得到这个输出
eth0链路封装:以太网HWaddr 18:a9:05:cb:8d:fb上行广播多播MTU:1500度量:1 接收数据包:0错误:0丢弃:0溢出:0帧:0 发送数据包:0错误:0丢弃:0溢出:0载波:0 冲突:0 txqueuelen:1000 接收字节:0(0.0B)发送字节:0(0.0B) 中断:17 lo Link encap:本地环回
inet地址:127.0.0.1掩码:255.0.0.0 inet6地址:1/128作用域:主机 上行环回运行MTU:16436公制:1 接收数据包:758错误:0丢弃:0溢出:0帧:0 发送数据包:758错误:0丢弃:0溢出:0载波:0 冲突:0 txqueuelen:0 接收字节:27296(27.2 KB)发送字节:27296(27.2 KB) wlan0链路封装:以太网HWaddr 00:26:c6:14:6c:68
inet地址:192.168.2.55 Bcast:192.168.3.255掩码:255.255.252.0 inet6地址:fe80::226:c6ff:fe14:6c68/64作用域:链接 上行广播运行多播MTU:1500度量:1 接收数据包:11385错误:0丢弃:0溢出:0帧:0 发送数据包:6088错误:0丢弃:0溢出:0载波:0 冲突:0 txqueuelen:1000 接收字节:4582447(4.5 MB)发送字节:1203113(1.2 MB)
我在运行Ubuntu11.10和netbeans时遇到了这个问题。当我尝试使用终端(具有sudo权限)运行jar文件时,它成功了。我认为问题在于linux中的权限
在终端
sudo java-jar YourJarFile.jar中运行.jar文件可以解决这个问题。在我的例子中,我以root身份运行它,+1用于指向权限问题。您已经尝试过:String[]devices=PacketCapture.lookupDevices()代码>?