Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
Низкоуровневая работа с пакетами, Портируемая и без установки доп. драйверов
 
Есть задача: написать программу, которая будет проводить некоторую цензуру над входящими/исходящими пакетами. Вычисление приложения, обменивающегося этими пакетами с сетью не требуется. При этом требование: программа должна работать в среде WinXP/Vista и НЕ ДОЛЖНА требовать установки дополнительных драйверов. Т.е. winpcap тут не подходит. Подумываю об использовании функций NDIS в этом случае: как я понимаю, тогда установки драйверов не потребуется и работа с сетью будет довольно низкоуровневой. Если есть какие-то альтернативы - рад буду, если кто-нибудь расскажет о них.
И есть ещё одно пожелание: хотелось бы иметь возможность портировать код на Linux-системы. На сколько я знаю, в wine есть поддержка NDIS и проблем возникнуть не должно.
В общем, если кто располагает инфой по поводу озвученного - рад буду узнать ваше мнение!
"Красота - как специи, которые хорошую еду делают ещё вкуснее, а без еды есть невозможно."
 
Логика есть. Я бы даже разделил программу на две логические части - интерфейсную, системозависимую, и на неё возложить все задачи взаимодействия с ТСР-стеком в ОС, и исполнительную, а на ту всю бизнес-логику. А в качестве языка реализации использовать ANSI C - тогда думаю не должно возникнуть проблем адаптации кода к разным компиляторам.

Исхожу из требований ТЗ:

1) Переносимость решения - обеспечивается модульной структурой и чётким соблюдением международных стандартов;
2) Возможность изменения источника входной информации - при разделении функций ввода/вывода данных и блоков анализа и управления процессом операция потребует только замены модуля ввода, остальные модули при прочих равных условиях не изменятся.

Это в общих чертах. Для того чтобы проект был масштабируемым он должен строится на принципах "чёрного ящика", но иметь системо-независимый внутренний межмодульный API.
 
Наверное вы имеете ввиду использование драйвера NDISUIO(NDISPROT для Win2K3), уже установленного в WinXP. Я пробовал, ничего не получилось, пришлось воспользоваться советом здесь FAQ и ставить переименованный драйвер.
С уважением mansur.
Страницы: 1
Читают тему