2013-02-18 96 views
1

我是Jpcap的新手。我正在使用JpcapCaptor.getDeviceList()返回一个空数组

NetworkInterface[] arr=JpcapCaptor.getDeviceList(); 
System.out.println(arr.length); 

从Jpcap获取设备。但它返回一个空数组。当我打印数组的长度时,它是0.我使用ubuntu 11.10并使用sudo apt-get install libpcap-dev安装libpcap。我的classpath中有jpcap.jar。我不明白为什么我没有获得任何网络设备。有人能帮我吗。

编辑: 当我在终端运行ifconfig我得到这个输出。

eth0的链接ENCAP:以太网的HWaddr 18:A9:05:CB:8D:FB
UP广播多播MTU:1500公制:1个 RX数据包:0错误:0下降:0超支:0帧: 0 TX数据包:0错误:0下降:0超支:0载体:0 碰撞:0 txqueuelen:1000 RX字节:0(0.0 B)TX字节:0(0.0 B) 中断:17

lo链接封装:本地环回
inet addr:127.0.0.1掩码:255.0.0.0 inet6 addr :: :: 1/128范围:主机 UP LOOPBACK RUNNING MTU:16436度量标准:1 RX包:758错误:0丢弃:0超限:0帧:0 TX包:758错误:0丢弃:0超限:0载波:0 冲突: 0 txqueuelen:0 RX字节:27296(27.2 KB)TX字节:27296(27.2 KB)

为wlan0链接ENCAP:以太网的HWaddr 00:26:C6:14:6C:68
INET地址:192.168.2.55 Bcast:192.168.3.255 Mask:255.255.252.0 inet6 addr:fe80 :: 226:c6ff:fe14:6c68/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:11385 errors:0 dropped: 0超出:0帧:0 TX包:6088错误:0删除:0超支:0载波:0 碰撞:0 txqueuelen:1000 RX字节:4582447(4.5 MB)TX字节:1203113(1.2 MB)

+0

你试过了:'String [] devices = PacketCapture.lookupDevices();'? – 2015-01-19 09:39:37

回答

2

我有问题当我运行Ubuntu 11.10和netbeans时。当我尝试使用终端(使用sudo权限)运行jar文件时,它工作正常。我认为这个问题是在Linux的权限。

在终端sudo java -jar YourJarFile.jar中运行.jar文件将解决他的问题。

+0

在我的情况下,我运行它作为根,+1指向权限问题 – shabby 2014-11-04 06:14:34