2013-03-01 4 views
0

Недавно я загрузил файл JEthereal.jar, чтобы захватить пакетный трафик на моем интернет-подключении через JEthereal, а также изучить его. Он считывает пакеты с .pcap файл просто отлично, но при попытке захватить пакеты, которые он дал мне сообщение, что:.Почему метод getDeviceList() в классе jpcap.JpcapCaptor является родным в JEthereal?

«Ни одно устройство найдено Возможно, это не означает, что вы установили JPcap но не Libpcap/WinPcap.Please следовать инструкции на сайте установите его. Это занимает около 15 секунд и стоит того ».

Поэтому я загрузил исходный код и открыл его в Eclipse, так как я уже установил WinPcap.

Пройдя код, я пришел к той части, где должны быть обнаружены сетевые устройства. Статический метод getDeviceList() из класса JpcapCaptor в пакете jpcap, который должен возвращать массив сетевых устройств типа NetworkInterface. Ниже приводится его заявление, учитывая в Интернете:

public static NetworkInterface[] getDeviceList() 

Однако в исходном коде, который я скачал этот метод остался без тела и его был объявлен native т.е.

public static native NetworkInterface[] getDeviceList(); 

Что я должен сделать сейчас, чтобы определить мои устройства? При поиске в сети и на этом портале я узнал, что файл jpcap.dll должен присутствовать в моей папке system32 (я использую Windows7), и я должен установить для него WinPcap. Я уже установил WinPcap и файл jpcap.dll в папке system32. Кроме того, я полагаю, я должен добавить system32 в свою переменную PATH, я еще не сделал этого, так как там нет jpcap.dll.

Thanx заранее!

ответ

0

Если «При поиске в сети и на этом портале я узнал, что файл jpcap.dll должен присутствовать в моей папке system32 (я использую Windows7), и я должен установить для этого WinPcap». говоря идет, someone is wrong on the Internet.

jpcap.dll является не часть WinPcap, и вы не установить WinPcap, чтобы получить его. Вам нужно установить Jpcap от Keita Fujii (он больше не работает над ним, и сайт, на котором ссылается сайт JEthereal, больше не существует, но на сайте JEthereal есть некоторые локальные ссылки для скачивания, а некоторые люди создали свои собственные вилки Это).

Установили ли вы какую-либо версию Jpcap? Если да, откуда вы его взяли? Это может быть версия, которая не работает с JEthereal.

+0

Да, я загрузил и установил jpcap. Я получил его из http://yuba.stanford.edu/JEthereal/applet/ той же ссылки, где я получил настройку JEthereal. Я отдельно загрузил локальный файл dll, предоставленный там, и добавил его как в моих PATH, так и в CLASSPATH для хорошей оценки, но все же я получаю ту же ошибку. –

+0

Мои PATH и CLASSPATH - это папки lib и bin в моей установке jdk в Program Files. –

+0

Если вы загрузили jpcap и у вас нет 'jpcap.dll', либо jpcap не имеет' jpcap.dll', либо вы его не установили правильно. Вам нужно поговорить с [свяжитесь с автором Jethereal] (http://yuba.stanford.edu/JEthereal/contact.php) за помощью. CLASSPATH не имеет отношения к собственному коду, например, коду в DLL. – 2013-03-02 09:23:16

0

Почему метод getDeviceList() в классе jpcap.JpcapCaptor является родным в JEthereal?

Потому что getDeviceList() реализован как родной (C/C++) код.

При попытке захвата пакетов он дал мне сообщение, в котором говорится: «Не найдено ни одного устройства ..."

Я использую Windows7

Туш. Начиная с Windows Vista (который является первым Windows, которые реализуют как корневой претензии), вам нужно запустить jpcap как администратор. Это должно быть сделано по крайней мере в первый раз, что вы запускаете jpcap после того, как система была перезапущена (так что библиотека WinPcap имеет право доступа к сетевым ресурсам).

От jpcap FAQ

В: Я не могу получить список сетевых интерфейсов или не могу захватить любые пакеты. Зачем?

Возможно, это связано с тем, что у вас нет административных привилегий, которые являются , необходимыми для запуска приложений на основе Jpcap.

В Windows 2000/XP ваша учетная запись должна быть в группе «Администратор».

В Windows Vista, даже если ваша учетная запись находится в группе администраторов, , вам все равно нужно использовать опцию «запустить как администратор». Чтобы использовать опцию , щелкните правой кнопкой мыши значок приложения и выберите «запустите как администратор». Если ваше приложение основано на командной строке, вам необходимо указать команду «Командная строка», используя опцию «запустить как администратор» и запустите приложение в этой командной строке.

+0

... а затем пожаловаться разработчикам JPcap, что их сообщение об ошибке вводит в заблуждение. Если он может определить, установлен ли libpcap или WinPcap, он должен сделать это * перед тем, как предположить, что «вы установили JPcap, но не libpcap/WinPcap». – 2013-03-19 05:15:54

+0

Я понимаю, что jpcap сообщает «без интерфейсов», и JEthereal предполагает, что jpcap не может быть установлен. – Javier

+0

Затем жалоба должна быть направлена ​​на разработчиков JEthereal. – 2013-03-20 18:47:18

 Смежные вопросы

  • Нет связанных вопросов^_^