Я новичок в Jpcap. Я используюJpcapCaptor.getDeviceList() возвращает пустой массив
NetworkInterface[] arr=JpcapCaptor.getDeviceList();
System.out.println(arr.length);
, чтобы получить устройства из Jpcap. Но он возвращает пустой массив. Когда я печатаю длину массива, это 0. Я использую ubuntu 11.10 и устанавливаю libpcap с помощью sudo apt-get install libpcap-dev
. У меня есть jpcap.jar в моем пути к классам. Я не понимаю, почему я не получаю никаких сетевых устройств. Кто-нибудь может мне помочь.
EDIT: Когда я запускаю ifconfig
в терминале, я получаю этот выход.
eth0 Link ENCAP: Ethernet HWaddr 18: a9: 05: центибар: 8d: фб
UP ВЕЩАТЕЛЬНОМУ MultiCast MTU: 1500 Metric: 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 В) прерываний: 17lo Link encap: Local Loopback
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 КБ)wlan0 Link ENCAP: Ethernet HWaddr 00: 26: c6: 14: 6c: 68
инет адр: 192.168.2.55 Bcast: 192.168.3.255 Маска: 255.255.252.0 inet6 addr: fe80 :: 226: c6ff: fe14: 6c68/64 Сфера применения: Ссылка 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) TX байт: 1203113 (1,2 MB)
Вы пробовали: 'String [] devices = PacketCapture.lookupDevices();'? –