|
1 / 1 / 1
Регистрация: 04.11.2014
Сообщений: 97
|
|
ПС контроля за сетевым трафиком ОС Windows 7, 808.06.2016, 17:19. Показов 4374. Ответов 32
Метки нет (Все метки)
Здравствуйте,
Получил задание курсовой работы: ПС контроля за сетевым трафиком ОС Windows 7, 8. Реализовать сетевой драйвер собирающий статистику по каждому сетевому соединению (протокол, количество переданных и полученных байт для каждого процесса. Каким образом написать этот драйвер? Я думаю, что нужно использовать фильтр NDIS Filter Drivers Может кто-нибудь подскажет, кто писал уже что то подобное. Спасибо.
0
|
|
| 08.06.2016, 17:19 | |
|
Ответы с готовыми решениями:
32
Проблемы с трафиком в Windows 7 У ПК с Windows XP нет доступа к сетевым ресурсам на ПК с Windows 7 Ошибки с сетевым драйвером на Windows 10 |
|
1 / 1 / 1
Регистрация: 04.11.2014
Сообщений: 97
|
||
| 02.09.2016, 15:51 [ТС] | ||
|
Убежденный,
Добавлено через 16 минут Убежденный, наверное я выбрал не тот уровень FWPS_LAYER_STREAM_V4, т.к. здесь нету ID, а вот на уровне FWPS_LAYER_ALE_AUTH_CONNECT_V4 ID присутствует в &pInMetaValues (FWPS_METADATA_FIELD_PROCESS_ID). Если уровень сменить буфер с данными останется такого же размера? И еще, как входной трафик отделить от выходного? Спасибо. Добавлено через 12 минут layerData - это буфер с данными?
0
|
||
|
Ушел с форума
|
|||||||
| 02.09.2016, 16:47 | |||||||
|
по одному на TCP и UDP и еще один на какой-нибудь ICMP. можно отличать один поток данных от другого.
0
|
|||||||
|
1 / 1 / 1
Регистрация: 04.11.2014
Сообщений: 97
|
|
| 02.09.2016, 22:16 [ТС] | |
|
Убежденный, для получения ID процесса буду регистрировать еще один уровень FWPS_LAYER_ALE_AUTH_CONNECT_V4. Как правильнее зарегистрировать уровень FWPS_LAYER_ALE_AUTH_CONNECT_V4 через еще один callout или через дополнительный фильтр? В чем разница этих двух способов? Может быть в используемых ресурсах?
Спасибо.
0
|
|
|
Ушел с форума
|
||
| 03.09.2016, 07:44 | ||
|
Вообще, это не тот вопрос, над которым стоит ломать голову. Делай как удобнее, как лучше вписывается в архитектуру твоего проекта.
0
|
||
|
1 / 1 / 1
Регистрация: 04.11.2014
Сообщений: 97
|
|
| 03.09.2016, 13:22 [ТС] | |
|
Убежденный, я добавил второй callout только уже с другим GUID, но в этом случае нужно добавить еще и второй фильтр, т.к. в поле Filter.action.calloutKey должен быть GUID of callout. Можно ли как-то сделать с одним фильтром? Тогда callouts должны иметь один и тот же GUID.
Спасибо.
0
|
|
|
Ушел с форума
|
||
| 03.09.2016, 16:02 | ||
![]() Можно, например, зарегистрировать несколько фильтров и направить их все на один и тот же callout. А в ClassifyFn этого callout-а определять, от какого фильтра и на каком уровне произошло срабатывание. Но это, как мне кажется, ненужное запутывание, логичнее изолировать логику компонентов фильтрации друг от друга, даже если при этом приходится писать больше кода.
1
|
||
|
1 / 1 / 1
Регистрация: 04.11.2014
Сообщений: 97
|
||||||
| 03.09.2016, 21:38 [ТС] | ||||||
|
Убежденный, в classifyFn я буду вести log, куда буду записывать протокол, количество переданных и полученных байт для каждого процесса.
Нашел такой способ записи в файл, подойдет ли он для режима ядра, или для этого режима нужно что-то специфическое?
0
|
||||||
|
Ушел с форума
|
|||
| 03.09.2016, 22:25 | |||
|
0
|
|||
|
1 / 1 / 1
Регистрация: 04.11.2014
Сообщений: 97
|
||||||||||||||||||||||||||
| 04.09.2016, 21:28 [ТС] | ||||||||||||||||||||||||||
|
Убежденный, добрый вечер,
для получения размера входного-выходного трафика, нашел вот такую структуру
Также в эту структуру входит: 1) dataOffset - показывает начало потока порции данных; 2) dataLength - длина порции. Эта информация не дает возможности вычисления трафика. Значит нужно идти глубже: в структуру netBufferListChain.
Вычисление размера данных:
Если в структуре typedef struct FWPS_STREAM_DATA0_ установить флаг в FWPS_STREAM_FLAG_RECEIVE, получу ли я структуре typedef struct _NET_BUFFER_LIST_DATA только входные данные? Я думаю, что нужно как-то зарегистрировать, то что установлен флаг FWPS_STREAM_FLAG_RECEIVE. Спасибо.
0
|
||||||||||||||||||||||||||
|
1 / 1 / 1
Регистрация: 04.11.2014
Сообщений: 97
|
||||||
| 06.09.2016, 22:01 [ТС] | ||||||
|
Убежденный, добрый вечер.
Нужно ли регистрировать факт установки флага flags для входящего - исходящего трафика? Если нужно, то как это сделать?
0
|
||||||
|
Ушел с форума
|
||
| 12.09.2016, 19:10 | ||
|
Где регистрировать?
0
|
||
|
1 / 1 / 1
Регистрация: 04.11.2014
Сообщений: 97
|
|
| 12.09.2016, 19:34 [ТС] | |
|
Убежденный, С этим вопросом я разобрался теперь есть вопрос, как связать функции user mode и kernel mode. Функцию в kernel mode, входная точка которой driverEntry, я могу скомпилировать и установить я могу без вопросов. Как мой код в user mode увидит код из kernel mode?
Сегодня преподаватель сказал мне, что использовать user mode не нужно, но я в это не верю, т.к. ответы были абстрактные.
0
|
|
|
Ушел с форума
|
||
| 13.09.2016, 08:23 | ||
|
Самый популярный (IMHO, он же самый верный в большинстве случаев) - ввод-вывод. Драйвер реализует обработчики для IRP_MJ_CREATE/CLEANUP/CLOSE, а также для IRP_MJ_DEVICE_CONTROL и/или IRP_MJ_READ/IRP_MJ_WRITE, создает устройство (IoCreateDeviceSecure) и символьную ссылку на него (IoCreateSymbolicLink). После этого юзермодное приложение может открывать устройство по ссылке как файл (CreateFile) и слать туда запросы (DeviceIoControl и/или ReadFile/WriteFile). Для DeviceIoControl доступно 3 метода передачи, каждый со своими особенностями - Direct I/O, Bufferred I/O и Neither I/O. Подробнее об этом здесь: User-Mode Interactions: Guidelines for Kernel-Mode Drivers https://drive.google.com/file/... sp=sharing В MSDN есть целая глава, посвященная вводу-выводу: Managing Input/Output for Drivers https://msdn.microsoft.com/en-... s.85).aspx В частности, вот про DeviceIoControl и обработку соответствующих IRP в драйвере: Using I/O Control Codes https://msdn.microsoft.com/en-... s.85).aspx Есть вариант и чисто под минифильтры - Communication Ports.
0
|
||
| 13.09.2016, 08:23 | |
|
Помогаю со студенческими работами здесь
33
Доступ к сетевым дискам Windows 7
Что относится к сетевым средствам Windows XP? Сетевой мост в VirtualBox блокируется фаерволом в Windows 7 Локальная сеть Windows 7 + XP доступ к сетевым ресурсам Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|