1

私はJPcapが初めてです。私は使用しています

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

Jpcap からデバイスを取得します。しかし、空の配列を返します。配列の長さを出力すると、0 になります。ubuntu 11.10 を使用し、libpcap を使用してインストールしsudo apt-get install libpcap-devました。クラスパスに jpcap.jar があります。ネットワーク デバイスを取得できない理由がわかりません。誰かが私を助けることができますか?

編集:ifconfigターミナルで実行すると、この出力が得られます。

eth0 リンク encap:イーサネット HWaddr 18:a9:05:cb:8d:fb
UP BROADCAST MULTICAST 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 Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric: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 Link encap:Ethernet HWaddr 00:26:c6:14:6c:68
inet addr:192.168.2.55 Bcast:192.168.3.255 Mask:255.255.252.0 inet6 addr: fe80::226:c6ff:fe14:6c68/64 スコープ: Link UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 RX パケット:11385 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0 TX パケット:6088 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0 コリジョン:0 txqueuelen:1000 RXバイト:4582447 (4.5 MB) 送信バイト:1203113 (1.2 MB)

4

1 に答える 1

2

Ubuntu 11.10 と netbeans で実行すると問題が発生しました。端末を使用して(sudo権限で)jarファイルを実行しようとすると、機能しました。問題はLinuxのパーミッションにあると思います。

ターミナルで .jar ファイルを実行sudo java -jar YourJarFile.jarすると、問題が解決します。

于 2013-03-03T15:46:44.853 に答える