информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеСтрашный баг в WindowsЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft Authenticator прекращает... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[Win32] Программирование сетевой карты? 24.03.03 13:28  Число просмотров: 1346
Автор: SerpentFly <Vadim Smirnov> Статус: Member
<"чистая" ссылка>
> Короче, вопрос такой: есть ли у драйверов сетевых карт
> универсальный интерфейс, позволяющий напрямую формировать
> IPX-фрейм и где бы глянуть инфу на эту тему?

Интерфейс называется NDIS. Можно написать драйвер протокола (интегрировать в сущетствующий драйвер) и формировать все фреймы самому, а можно заюзать TDI-интерфейс и использовать существующие протоколы установленные на данной системе. Интерфейс конечно посложнее чем Windows Sockets, но довольно близок. Поверх TDI существуют kernel-mode реализации BSD sockets (www.osr.com. www.storagecraft.com), есть облегчяющие использование прослойки/наборы ф-ций (www.pcausa.com). Из извращений можно использовать интерфейс драйвера AFD.SYS, это kernel-mode провайдер winsock, правда интерфейс не документирован и несколько отличается между версиями NT/2000/XP, вернее NT отличается от 2000/XP. Кое-что я об этом интерфейсе знаю (вернее почти все но под NT4.0), но руки не доходят до конца раскрутить. Это даже не слишком сложно сделать, например с использованием последней версии Device Filter http://www.ntkernel.com/utilities/devfilter.shtml, может когда руки и дойдут...

Ну вроде все, про пайпы и майлслоты ты сам знаешь, насколько я понимаю, так что утомлять не буду... Да и смысла их использовать большого нет, зачем пропускать все через дополнительную прослойку файловой системы, может еще и конфликт с собственным фильтром приключиться ;-)
<programming>
[Win32] Программирование сетевой карты? 24.03.03 05:52  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
Вобщем ситуяйция такая: сделал SYS-драйвер, перехватывающий все вызова файловой системы. Теперь нужно, чтобы он все эти данные пересылал по сети на сервер. Можно, конечно юзать мэйлслот, но ZwWriteFile выполняет кучу проверок, а это лишьние тормоза.

Короче, вопрос такой: есть ли у драйверов сетевых карт универсальный интерфейс, позволяющий напрямую формировать IPX-фрейм и где бы глянуть инфу на эту тему?
[Win32] Что посоветуете? 29.03.03 15:09  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
> Вобщем ситуяйция такая: сделал SYS-драйвер, перехватывающий
> все вызова файловой системы. Теперь нужно, чтобы он все эти
> данные пересылал по сети на сервер. Можно, конечно юзать
> мэйлслот, но ZwWriteFile выполняет кучу проверок, а это
> лишьние тормоза.
>
Можно бы юзать "Самолепные" EThernet фреймы, но что делать, если там будет не EThernet?

Можно юзать UDP и не заботится о том, что "под ним" (в частностии о фрагментации). Но насколько будет тормозить передачу пакетов и всю систему IP-"прослойка"?
[Win32] Если при каждой файловой операции отправлять пусть даже фрейм Ethernet, то будут тормоза. 30.03.03 09:44  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
Кэшируй, и отправляй изменения каждую секунду или пять по IP. Вот ты в прошлом посте говорил: а что, если у них не Ethernet? Тут можно продолжить: а что, если у них нет TCP/IP? Тогда юзай Pipes, и отвяжешься от протокола.
[Win32] Программирование сетевой карты? 24.03.03 13:28  
Автор: SerpentFly <Vadim Smirnov> Статус: Member
<"чистая" ссылка>
> Короче, вопрос такой: есть ли у драйверов сетевых карт
> универсальный интерфейс, позволяющий напрямую формировать
> IPX-фрейм и где бы глянуть инфу на эту тему?

Интерфейс называется NDIS. Можно написать драйвер протокола (интегрировать в сущетствующий драйвер) и формировать все фреймы самому, а можно заюзать TDI-интерфейс и использовать существующие протоколы установленные на данной системе. Интерфейс конечно посложнее чем Windows Sockets, но довольно близок. Поверх TDI существуют kernel-mode реализации BSD sockets (www.osr.com. www.storagecraft.com), есть облегчяющие использование прослойки/наборы ф-ций (www.pcausa.com). Из извращений можно использовать интерфейс драйвера AFD.SYS, это kernel-mode провайдер winsock, правда интерфейс не документирован и несколько отличается между версиями NT/2000/XP, вернее NT отличается от 2000/XP. Кое-что я об этом интерфейсе знаю (вернее почти все но под NT4.0), но руки не доходят до конца раскрутить. Это даже не слишком сложно сделать, например с использованием последней версии Device Filter http://www.ntkernel.com/utilities/devfilter.shtml, может когда руки и дойдут...

Ну вроде все, про пайпы и майлслоты ты сам знаешь, насколько я понимаю, так что утомлять не буду... Да и смысла их использовать большого нет, зачем пропускать все через дополнительную прослойку файловой системы, может еще и конфликт с собственным фильтром приключиться ;-)
[Win32] NDIS, не совсем понял: 25.03.03 03:28  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
на каком уровне (какой командой) там можно сформировать одиночный IPX-пакет (стандартный) указав только МАК адресата и тело пакета.

Или нужно будет лепить все самому: заголовок, тело, CRC?
[Win32] NDIS, не совсем понял: 25.03.03 12:40  
Автор: SerpentFly <Vadim Smirnov> Статус: Member
<"чистая" ссылка>
> на каком уровне (какой командой) там можно сформировать
> одиночный IPX-пакет (стандартный) указав только МАК
> адресата и тело пакета.
>
> Или нужно будет лепить все самому: заголовок, тело, CRC?

Ты все перепутал. Если собираешься писать свой протокол, который будет руками формировать IPX фреймы, то читай раздел protocol drivers в DDK. В этом случае ты будешь формировать фрейм полностью сам.

Если хочешь использовать существующий установленный IPX, то читай про TDI-клиентов, тебе придется одного такого написать. Про IPX много сказать не могу, я пользовался только TCP/IP, подозреваю что с IPX все приблизительно так же (у него есть TDI-интерфейс), но вот боюсь с примерами у тебя будут проблемы, я таких не знаю...
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach