|
1 / 1 / 1
Регистрация: 04.11.2014
Сообщений: 97
|
|
ПС контроля за сетевым трафиком ОС Windows 7, 808.06.2016, 17:19. Показов 4421. Ответов 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 доступ к сетевым ресурсам Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|