![]() |
Модераторы: marykone |
![]() ![]() ![]() |
|
Hiehachi |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 27.12.2005 Где: Ukraine->Odess a Репутация: нет Всего: нет |
Здраствуйте.
Очень хочу пообщатся по теме применения исходников WINPCAP. Задача состоит состыковать ETHERNET устройство с компом, запустить так сказать обмен данными. Нарыл кучу информации, в основном стоящая инфа только по теме WINPCAP. Есть много инфы по NDIS, в основном в DDK, но там полные дрова - недружелюбный подход к изложению спецификации. Поэтому для меня один выход - WINPCAP. Но тут началось: WINPCAP поставляется в исходниках, можно скачать около пяти разных версий архивов. (В архивах присутствуют папка исходников драйвера packet.sys, папка исходника packed.dll и папка с исходниками wpcap.dll) - компилированых этих файлов в архиве нет(1). Компилировал исходники: драйвера packet.sys через build из DDK2000 и packet.dll через VisualC5(с импортом функции проблем нет). При прогоне тестовых примеров из документации возникли ситуации : Функция PacketGetAdapterNames нормально завершается и возвращает список адаптеров, я их получаю. Проблемы возникли с запуском следующей функции PacketOpenAdapter (которая должна перезапускать(запускать) драйвер).Точнее в исходниках драйвера packet.sys. Драйвер должен был зарегистрировать символьные метки, по которым сначала можно было бы с ним работать через CreateFile. Этой функции регистрации(IoCreateSymbolicLink) в драйвере нет. Точнее этот код закоментирован. При просмотре кода, по которым формируется символьные метки в драйвере и *.dll. Я могу сказать что алгоритмы там разные. И при просмотре и компиляции этих архивов с исходниками одинаковый результат. Драйвер прописывается и стартует(когда обращаешся к paclet.dll), но когда надо с ним работать - проблема - *.dll обращается к драйверу по символьной метке, а драйвер ее не зарегистрировал. Написать подобный алгоритм в драйвере я не берусь, плохо ореинтируюсь в API KERNEL MODE функциях. Вот и вся проблема. Есть еще один выход, попробовать поработать с packet.sys не через packet.dll, а через wpcap.dll (wpcap.dll в свою очередь тоже использует packet.dll). В принципе как раз больше примеров кода по wpcap.dll. Но тогда возможны двойные неприятности, а может быть и нет. Вообще я только еще изучаю этот пакет. Хочется сделать, что-нибудь полезное, типа обмена даными по ETHERNET на MAC уровне. WINSOKET2 ( RAW) - это нормально, но для задачи не подходит. Если кто-нибудь может поделится соображениями по поводу ETHERNET на MAC(NIC) уровне , может подскажете лучший путь. Или посоветуйте рабочие исходники, или уже скомпилирование файлы packet.dll или packet.sys. Буду очень признателен. |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: нет Всего: 232 |
Перемещаю тему из .NET в "Сетевые технологии".
-------------------- ![]() |
|||
|
||||
Hiehachi |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 27.12.2005 Где: Ukraine->Odess a Репутация: нет Всего: нет |
приятно
|
|||
|
||||
Hiehachi |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 27.12.2005 Где: Ukraine->Odess a Репутация: нет Всего: нет |
Все работает! С исходниками WINPCAP 3.0.
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Сетевые технологии | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |