вызов функций ndis из user mode
От: Andrew S Россия http://alchemy-lab.com
Дата: 20.04.02 10:27
Оценка: -1
Hi all

В процессе программинга возник вопрос — возможен ли вызов ndis функций для сетевых адаптеров из user mode Windows 9х. Как делать это из Windows NT -2000 я знаю, если интересно, могу выслать сурсеры/рассказать. Писать kernel mode драйвер и вызывать ndis api оттуда нельзя по политическим соображениям. В основном данный код будет использоваться для определения мак адресов сетевух (IOCTL_NDIS_QUERY_GLOBAL_STATS -> OID_xxx_CURRENT_ADDRESS), а также других паарметров (Link Speed, Type, Media Type и т.п.). Как найти logic driver для ndis под 9х тоже знаю. Осталось понять как его использовать.

Прошу вспоможения. Всем спасибо за ответы.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re: вызов функций ndis из user mode
От: Kubyshev Andrey  
Дата: 22.04.02 14:12
Оценка:
Здравствуйте Andrew S, Вы писали:

соображениям. В основном данный код будет использоваться для определения мак адресов сетевух (IOCTL_NDIS_QUERY_GLOBAL_STATS -> OID_xxx_CURRENT_ADDRESS), а также других паарметров (Link Speed, Type, Media Type и т.п.). Как найти logic driver для ndis под 9х тоже знаю. Осталось понять как его использовать.

nachinaya s w98 mozhno use iphelper api. s pomoschyu kotorogo mozhno poluchit info ob imeyuschihsya NICs. v w95 tozhe samoe naverno mozhno vzyat' iz reestra.
esli ty uzhe prochel pro iphelper api i tebya ono sovsem ne ustraivaet, to mozhno napisat' small driver kotoryi tebe assign ring 0 , a vse ostalnoe budesh delat' v svoei programme.
O tom kak sdelat' poslednee mozhno prochitat' v knige Prasada Dabaka "Undocumented Windows NT"
a materialov na temu ring 0 v w9x mnogo na saitah po virusopisatelstvu. Tam voobsche drivera ne nado
Re[2]: вызов функций ndis из user mode
От: Andrew S Россия http://alchemy-lab.com
Дата: 22.04.02 21:44
Оценка:
Спасибо за ответ, Андрей, но IP helper работает только при условии установки TCP протокола и начиная с вин 98. Мне же важно raw ndis. Или другой способ, не привязаный к протоколам сетевого уровня. Кстати, все те параметры, что получает ip helper, он делает это через эмуляцию snmp агента inetmib1.dll. С помощью агента snmp можно получить все параметры, описаные в ip helper'е и много-много больше. Причем это не требует установки сервиса snmp на системы класса НТ. Например, утилиты netstat, ipconfig используют эту библиотеку. Единственный недостаток — требует устновленного TCP/IP.
Да и не привязать его к устройствам из диспетчера устройств... А это тоже важно.

Например, под NT используется следующая технология вызова nids:
В реестре (либо Setupxx функциями) просматриваются сетевые адаптеры, далее определяется сервис, открывается хендл на него при помощи CreateFile и собственно, при помощи DeviceIOControl происходят вызовы ndis драйверу. Красиво и работает всегда.
А насчет вызова из ring0 под 9х — это очень просто, но ndis функции вроде доступны только драйверам. Или нет?
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re: Так что, никто не в курсе!?
От: Andrew S Россия http://alchemy-lab.com
Дата: 24.04.02 14:31
Оценка:
Господа! Ну так что, никто не в курсе, что ли?

Тогда, может, кто разбирался с ndis.vxd под 9х системы?
Особенно интересно, какие ndis функции можно вытянуть из него через DeviceIoControl.
Всем спасибо за ответы....
http://www.rusyaz.ru/pr — стараемся писАть по-русски
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.