Lemberg
Участник
Offline
|
|
« : 05-01-2004 15:04 » |
|
Privet!
Trebuetsa znat', imeetsa li odnowremenno s uge sushetwujushim LAN-soedineniem, soedinenie s kakoj-libo drugoj set'ju cheres WLAN, Bluetooth ili transfer dannih cheres USB. Vopros: Zelesoobrazno li dl'a etogo pisat' (filter-)driver ili dannuju problemu mogno reshit' drugim putem?
|
|
|
Записан
|
|
|
|
Lemberg
Участник
Offline
|
|
« Ответ #1 : 10-01-2004 15:17 » |
|
Drugoj wopros. Kak s pomosh'ju filter driver osushestvl'at' monitoring setevih kart?
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #2 : 12-01-2004 06:08 » |
|
Trebuetsa znat', imeetsa li odnowremenno s uge sushetwujushim LAN-soedineniem, soedinenie s kakoj-libo drugoj set'ju cheres WLAN, Bluetooth ili transfer dannih cheres USB.
Если только сетевые соединения(в том числе USB карты, bluetooth сетевые соединения, IEEE 1394 сетевое соединение), то можно узнать и из простого приложения. Если надо знать есть ли перенос любых данных через вышеназванные интерфейсы- то только фильтр драйвер. Kak s pomosh'ju filter driver osushestvl'at' monitoring setevih kart?
Все запросы к сетевой карте сначала пройдут через фильтр драйвер, то есть ты увидишь что пишут и читают через карту.
|
|
|
Записан
|
|
|
|
Lemberg
Участник
Offline
|
|
« Ответ #3 : 12-01-2004 11:29 » |
|
Спасибо за ответ. А реально ли из одного filter driver контролировать все вместе - LAN, WLAN, bluetooth, IrDA?
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #4 : 13-01-2004 07:07 » |
|
А реально ли из одного filter driver контролировать все вместе - LAN, WLAN, bluetooth, IrDA?
Да можно. Я писал драйвер контроллирующий более 20 других драйверов. Он немного на другом подходе был основан, чем стандартно принятые, но я думаю что в стандартной модели(стек драйверов) для тебя достаточно проверять к какому драйверу тебя присоединяют в стеке- это легко узнать, так как указатель на самый нижний PDO тебе передается, и на основе этого решать как работать с этим устройством.
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #5 : 13-01-2004 07:07 » |
|
А реально ли из одного filter driver контролировать все вместе - LAN, WLAN, bluetooth, IrDA?
Да можно. Я писал драйвер контроллирующий более 20 других драйверов. Он немного на другом подходе был основан, чем стандартно принятые, но я думаю что в стандартной модели(стек драйверов) для тебя достаточно проверять к какому драйверу тебя присоединяют в стеке- это легко узнать, так как указатель на самый нижний PDO тебе передается, и на основе этого решать как работать с этим устройством.
|
|
|
Записан
|
|
|
|
Lemberg
Участник
Offline
|
|
« Ответ #6 : 13-01-2004 08:55 » |
|
Да можно. Я писал драйвер контроллирующий более 20 других драйверов. Он немного на другом подходе был основан, чем стандартно принятые, но я думаю что в стандартной модели(стек драйверов) для тебя достаточно проверять к какому драйверу тебя присоединяют в стеке- это легко узнать, так как указатель на самый нижний PDO тебе передается, и на основе этого решать как работать с этим устройством.
Что можно это замечательно Моя проблема заключается в том, что я драйверы никогда до этого не программировал. Задача же одновременного контроля LAN, WLAN, Bluetooth, IrDA является частью моей дипломной работы. Не могли бы вы подсказать где можно почитать что-либо об одновременном контроле (возможно с примерами).
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #7 : 13-01-2004 11:58 » |
|
Задача же одновременного контроля LAN, WLAN, Bluetooth, IrDA является частью моей дипломной работы. Не могли бы вы подсказать где можно почитать что-либо об одновременном контроле (возможно с примерами).
Из рускоязычных - www.ntndis.comТам есть ссылки. Там тоже хороший форум(правда недавно он упал и потерялась вся инфа). В инете есть примеры, поищи googlom. Ну и сюда заходи- задавай вопросы. Что за институт?
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #8 : 13-01-2004 12:05 » |
|
Да, только я тебя предупреждаю- на уровне драйверов сетевых карт(NDIS) НЕЛЬЗЯ узнать контекст из которого был сделан запрос, то есть нельзя сделать разграничение по пользователям-это можно сделать только на уровне драйвера протокола TDI. То же относится к драйверам контроллеров USB, FireWire, Bluetooth. На уровне драйверов контроллеров можно либо полностью отрубить доступ всем либо всем открыть. Но я писал драйвер который мог разграничивать доступ по юзерам- но как это сделано, секрет. Вобще я работаю с людьми, которые занимаются подобными вещами- перехватом сообщений, так что в меру могу подсказать. Не забудь сказать какой институт, мне очень это интересно.
|
|
|
Записан
|
|
|
|
Lemberg
Участник
Offline
|
|
« Ответ #9 : 13-01-2004 12:26 » |
|
Не забудь сказать какой институт, мне очень это интересно.
Вообще-то раньше учился во Львовском Политехе (отсюда и nick), но диплом пишу в Technical University Darmstadt (Germany).
|
|
|
Записан
|
|
|
|
Lemberg
Участник
Offline
|
|
« Ответ #10 : 13-01-2004 14:55 » |
|
Nu horosho, esli ja smogu obshatsa, naprimer, s driverom LAN-karti, real'no wiesnit' kuda marshrutiziruutsa paketi, cherez nee prohod'ashie. Toest' ne konechnoe IP, a IP routera.
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #11 : 14-01-2004 06:44 » |
|
Nu horosho, esli ja smogu obshatsa, naprimer, s driverom LAN-karti, real'no wiesnit' kuda marshrutiziruutsa paketi, cherez nee prohod'ashie. Toest' ne konechnoe IP, a IP routera.
Конечно сможешь- там же передается информация об IP адресе, которая как минимум содержится в заголовке IP пакета, который надо запокавать в пакет LAN карты. Так тут нужен Crash Maker он как раз недавно крутил драйвер сетевухи. Но ты рассмотри два варианта(как минимум можешь отметить их в дипломе). 1) Перехватывать сетевые пакеты на уровне драйверов LAN карт или на уровне NDIS. В плюсе тут то что ты гарантированно поймаешь все пакеты, в минусе- сетевые устройства могут быть на нескольких шинах(PCI, USB, FireWire, Bluetooth), но тем не менее все сетевые устройства обычно соотвествуют спецификации NDIS(то есть можно перехватывать на его уровне и не заморачиваться разными видами шин), а также невозможность узнать от какого юзера идет запрос. Только как это точно сделать(перехват обращений к NDIS) я не совсем в курсе(пока еще), но разобраться не проблема. По моему тебе нужен NDIS Intermediate Driver- так как именно он сядет между TDI и Miniport драйверами. Как писать Intermediate Driver есть в DDK. 2) Прехватывать пакеты на уровне драйвера протокола(TDI), например TCP/IP- это драйвер tcpip.sys. В плюсе- драйвер один и ты не должен заморачиваться разными видами шин(с NDIS то же самое) и можешь узнать от какого пользователя идет запрос, в минусе- не обязательно используют tcpip протокол и недокументирован формат пакетов.
|
|
|
Записан
|
|
|
|
Lemberg
Участник
Offline
|
|
« Ответ #12 : 14-01-2004 10:33 » |
|
Varianti ochen' interesnie - w Diplome ob'azatel'no otmechu. Moe zadanie sostoit w sledujushem: 1. Pol'zowatel' moget soedinitsa posredstvom LAN s korporativnoj set'ju. 2. Esli eto tak (soedinenie 1 est'), to pol'zowatelu zapreshena LUBAJA AKTIVNOST' na ustrojstwah WLAN, Bluetooth i IrDA. Toest' luboj obmen informaziej (dage ne ob'azatel'no s pomosh'ju TCP/IP) dolgen bit' razpoznan i soobshen kuda nado Wot. Chto men'a muchaet: a) prawil'no li ja postupaja wibraw dl'a etih zelej driver. b) esli da, to naskol'ko real'no s na segodn'a minimal'nimi moimi znanijami w driver programming za 2 mes'aza takoj driver napisat'? Esli ti smogish mne na eti voprosi podskazat' otwet, to ti ochen' sushestwenno mne oblegchish gizn'.
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #13 : 14-01-2004 11:41 » |
|
to pol'zowatelu zapreshena LUBAJA AKTIVNOST' na ustrojstwah WLAN, Bluetooth i IrDA a) prawil'no li ja postupaja wibraw dl'a etih zelej driver.
Да правильно. Я сам делал такой драйвер. Только тебя ждет проблема- на уровне драйверов контроллеров ты не сможешь узнать от какого пользователя идет запрос. Это можно узнать на более высоких уровнях. Я эту задачу решил. Но как простой вариант ты можешь просто отклонять все запросы определенного типа, так ты прекроешь доступ всем а вести лог всех запросов- не проблема. Но в принципе поставленную задачу ты решил- комп в сети и ты можешь контроллировать активность на нем. Главная проблема будет в том, что не всегда можно четко отличить служебные запросы от системы от запросов юзеров. И еще вопрос- тебя интересует только сетевая активность на Bluetooth i IrDA или любая, например обращение к дискам на USB. b) esli da, to naskol'ko real'no s na segodn'a minimal'nimi moimi znanijami w driver programming za 2 mes'aza takoj driver napisat'?
Думаю сможешь. Простой драйвер - фильтр, который следит за активность на USB, FireWire, WLAN не проблема, особенно с учетом наличия уже готовых драйверов фильтров с исходными кодами и примеры фильтров в DDK. Простые фильтры для USB, FireWire, WLAN , IrDa будут иметь около 3000 строк каждый с кучей одинакового кода, один драйвер-фильтр на все шины- около 5000 строк. Для контроля за наличием соединения с сетью драйвер не нужен можно из обыкновенного приложения это делать. Лучше пиши сервис- это логичнее.
|
|
|
Записан
|
|
|
|
maaaaaad
Гость
|
|
« Ответ #14 : 14-01-2004 11:47 » |
|
О боже да что ж...лучше пиши уж на английском.. Так тут нужен Crash Maker он как раз недавно крутил драйвер сетевухи
а? что? где? =) я уже не краш.....я мээээээээээээээд лол я делал минипорт на usb. Еще хотел для twoOstwo сделать трансляцию трафа между гостевыми осями. Но тк они молчат я не буду им раздавать свои ценные идеи бесплатно =) гы я предпочитаю сесть пониже. или минипорт или пакет фильтр под tcp/ip. ко всему остальному равнодушен. Не знаю как работают ирда, блутуфб, влан. Я думаю, что в нашей банановой республике СССР мало кто работает с ирдами и блутафами, и думаю посоветовать тут мало кто сможет. Ты сам выбирай какой уровень АБСТРАКЦИИ тебе нужен =) (Confusing what is real) Сам подумай. Диплом не наш а твой и сдавать его не нам. можно сделать по-любому. т.к. нет слов о блокировки соединений, достаточно пакет фильтра (я думаю они работают и с ирдами (иродами-) лол) и с туфами ). Соответственно если если понадобится связываться с соединениями, придется реализовывать 3х рукопожатие и тсп таймеры самому. хех. Смотри не ошибись с выбором. Обратная ситуация - берем высоко - работа будет не эффективной. Не так много написанно по всем типам сетевых драйверов в том же ддк. Вполне можно получить представление для чего они и сделать выбор. Я знаю зачем и кому это все понадобилась. Это злые люди. Типичный американский способ мышления. Таблеточки рохипнола ((с) Рочес инк. вызывают частичную амнезию) еще добавить - не хватает....
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #15 : 14-01-2004 12:27 » |
|
а? что? где? =) я уже не краш.....я мээээээээээээээд лол
Ну вот- не было меня две недели а ты и ник сменил, а я чувствую- знакомое лицо !
|
|
|
Записан
|
|
|
|
Anonymous
Гость
|
|
« Ответ #16 : 14-01-2004 12:48 » |
|
О боже да что ж...лучше пиши уж на английском..
Esli ti k tomu chto ja latinizej pishu, to izwini u men'a russkoj raskladki net, a po pam'ati mne t'agelo. Po anglijski mogu, no luchshe po nemezki, a woobshe predpochitaju russkij. Ты сам выбирай какой уровень АБСТРАКЦИИ тебе нужен =) (Confusing what is real) Сам подумай. Диплом не наш а твой и сдавать его не нам.
Diplom dejstwitel'no moi i sdawat' ego mne. No esli bi ja sam na eti woprosi otwetit' mog, to ich bi w forume ne zadawal. Я знаю зачем и кому это все понадобилась. Это злые люди. Типичный американский способ мышления.
Ti imel wwidu nemezkij?
|
|
|
Записан
|
|
|
|
Anonymous
Гость
|
|
« Ответ #17 : 14-01-2004 12:54 » |
|
И еще вопрос- тебя интересует только сетевая активность на Bluetooth i IrDA или любая, например обращение к дискам на USB.
Da lubaja aktivnast', kak na Bluetooth i IrDA, kotorie imejut swoi protokoli obmena, tak i diski na USB.
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #18 : 14-01-2004 13:03 » |
|
Da lubaja aktivnast', kak na Bluetooth i IrDA, kotorie imejut swoi protokoli obmena, tak i diski na USB.
Понгятно. я просто спросил чтоб понять что за задача- если только сеть то выгодней Intermediate NDIS фильтр драйвер, а если все устройства- то фильтр драйвер на драйвера стека устройств.
|
|
|
Записан
|
|
|
|
Lemberg
Участник
Offline
|
|
« Ответ #19 : 15-01-2004 14:07 » |
|
фильтр драйвер на драйвера стека устройств
Chto ti imeesh wwidu pod etim? Nado podkluchatsa nad driverami ustrojstv ili pod?
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #20 : 15-01-2004 14:24 » |
|
Nado podkluchatsa nad driverami ustrojstv ili pod?
Это уже тебе решать, но я бы подключился как верхний фильтр.
|
|
|
Записан
|
|
|
|
Lemberg
Участник
Offline
|
|
« Ответ #21 : 16-01-2004 10:34 » |
|
я бы подключился как верхний фильтр
Aga, ja toge tak podumal. Esli ja podkluchus' kak nignij filter to mne pridetsa spezificheskie dl'a ustrojstwa funkzii programmierowat' i pri smene ustrojstwa... Spasibo za pomosh', mne teper' wse eto opisat' nado, a gde-to s ponedel'nika nachnu pisat' driver.
|
|
|
Записан
|
|
|
|
Lemberg
Участник
Offline
|
|
« Ответ #22 : 18-01-2004 14:26 » |
|
Ja hochu kontrollierowat' wse WLAN-cards, lubogo proizwoditel'a. Eto znachit, ja dolgen filter driver ne dl'a konkretnogo driver WLAN-card pisat', a dl'a klassa takih kart. A kak eto wigl'adit na praktike?
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #23 : 19-01-2004 06:19 » |
|
Ja hochu kontrollierowat' wse WLAN-cards, lubogo proizwoditel'a. Eto znachit, ja dolgen filter driver ne dl'a konkretnogo driver WLAN-card pisat', a dl'a klassa takih kart. A kak eto wigl'adit na praktike?
Intermediate NDIS драйвер. Но с другой стороны- тебе же надо только узнать есть соединение с сетью или нет(ты же так говорил)- это можно и без драйвера сделать.
|
|
|
Записан
|
|
|
|
Lemberg
Участник
Offline
|
|
« Ответ #24 : 19-01-2004 08:06 » |
|
Но с другой стороны- тебе же надо только узнать есть соединение с сетью или нет(ты же так говорил)- это можно и без драйвера сделать.
Da, no mne nugno parallel'no k soedinenijam kontrolierowat' esho transfer dannih cheres IrDA i Bluetooth. Toest' Algoritm wigl'adit tak: if ((est' soedinenie cheres LAN kartu) and ((est' soedinenie cheres WLAN) or (transfer dannih cheres IrDA) or (transfer dannih cheres Bluetooth))) then ALARM!!! Wot takuju fign'u mne nado implementierowat'.
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #25 : 19-01-2004 09:13 » |
|
По моему наличие работающего сетевого соединения можно узнать и из юзер мода. Если тебе надо сообщать о каждой посылке через WLAN- то тут действительно драйвер, если только узнать - есть соединение или нет, томожно и из юзер мода. IrDA и Bluetooth- только драйвер.
|
|
|
Записан
|
|
|
|
Lemberg
Участник
Offline
|
|
« Ответ #26 : 19-01-2004 09:25 » |
|
Ja hochu kontrollierowat' wse WLAN-cards, lubogo proizwoditel'a. Eto znachit, ja dolgen filter driver ne dl'a konkretnogo driver WLAN-card pisat', a dl'a klassa takih kart. A kak eto wigl'adit na praktike?
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #27 : 19-01-2004 10:55 » |
|
А чего непонятного-то? Intermediate NDIS позволит смотреть за всем сетевым трафиком, но зачем он тебе нужен если надо только узнать наличие соединения с сетью.
|
|
|
Записан
|
|
|
|
Lemberg
Участник
Offline
|
|
« Ответ #28 : 19-01-2004 10:58 » |
|
driver u setevih kart raznie - w zavisimosti ot proizwoditel'a. otkuda ja dolgen znat' k kakomu obrashtsa? Est' kakoj nebud' uroven' abstrakzii?
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #29 : 19-01-2004 11:15 » |
|
driver u setevih kart raznie - w zavisimosti ot proizwoditel'a.
Блин, а я не догадывался об этом! Est' kakoj nebud' uroven' abstrakzii?
Это NDIS. Еще раз повторю- NDIS - Network Driver Interface Specification. The interface for network drivers used in Windows and Windows NT/Windows 2000. NDIS provides transport independence for network vendors because all transport drivers call the NDIS interface to access the network. . Поиском проверь сколько раз я это слово тут использовал. Intermediate NDIS драйвер позволит контроллировать ВСЕ СЕТЕВЫЕ ИНТЕРФЕЙСЫ В НЕЗАВИСИМОСТИ ОТ ИХ ТИПА. В DDK есть целая глава "Intermediate NDIS Drivers".
|
|
|
Записан
|
|
|
|
|