URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4208
[ Назад ]

Исходное сообщение
"Написание модуля ядра или использование netgraph"

Отправлено xaka , 23-Апр-05 16:03 
Давно интересует такой вопрос или парочка, но занятся ими захотелось сейчас:
1)Насколько сложно написать модуль ядра, который будет обрабатывать сетевой поток данных(прием пакетов, их отброс, и т.д)
2)Вопрос, связанный с 1-м. Как понимаю - netgraph способен на многое, работает на уровне ядра, но нигде не нашел примеров того, каким образом с помощью него можно делать разбор пакетов, установку неких флагов, которые отвечают за то - пропускать в систему данный пакет или нет. Тоесть в общем случае каким образом реализовывается accept и drop policy.

Содержание

Сообщения в этом обсуждении
"Написание модуля ядра или использование netgraph"
Отправлено kir , 23-Апр-05 22:10 

интерфейс не пользовательский - должны присутсвовать знания системного программиста


"Написание модуля ядра или использование netgraph"
Отправлено xaka , 23-Апр-05 23:00 
Это понимаю, что необходимы такие знания, но можно немного поподробней про это? что почитать?
P.S. но все таки вопрос остается: возможно ли с помощью netgraph вести политики accept и drop для сетевого потока?

"Написание модуля ядра или использование netgraph"
Отправлено xaka , 23-Апр-05 23:15 
Извеняюсь за то, что немного зачастил с постингами с маленьким промежутком времени, но тут в голову тукнулу то, ЧТО ДЕЙСТВИТЕЛЬНО!!! захотелось разобраться с написанием модуля ядра для работы с сетевым потоком. Что можете порекомендовать? Может есть исходники небольших софтин, чтобы можно было получше разобраться, может кто уже писал такое и поделится. Очень хочу разобраться. Есть статья про написание модуля, но там вообще не о том, о чем нужно, нет информации о том, что как и когда применять и как все работает.
Кому не трудно - поделитесь инфой, в материале разберусь без проблем, опыт в кодинге 5 лет, но с таким не сталкивался.

"Написание модуля ядра или использование netgraph"
Отправлено Bob , 23-Апр-05 23:36 
Посмотри вот этот материал: http://www.samag.ru/art/08.2003/08.2003_08.pdf

"Написание модуля ядра или использование netgraph"
Отправлено xaka , 24-Апр-05 17:17 
Как понял - NETFILTER это чисто для Linux, а как насчет FreeBSD?

"Написание модуля ядра или использование netgraph"
Отправлено Bob , 24-Апр-05 22:50 
>Как понял - NETFILTER это чисто для Linux, а как насчет FreeBSD?
>

Так надо сразу говорить, какая ОС интересует.


"Написание модуля ядра или использование netgraph"
Отправлено kir , 25-Апр-05 15:04 
а вы топик почитайте

"Написание модуля ядра или использование netgraph"
Отправлено kir , 25-Апр-05 15:06 

ядро самой OS - куда лучше примера не придумаешь


"Написание модуля ядра или использование netgraph"
Отправлено AMDmi3 , 25-Апр-05 16:43 
>Давно интересует такой вопрос или парочка, но занятся ими захотелось сейчас:
>1)Насколько сложно написать модуль ядра, который будет обрабатывать сетевой поток данных(прием пакетов,
>их отброс, и т.д)
>2)Вопрос, связанный с 1-м. Как понимаю - netgraph способен на многое, работает
>на уровне ядра, но нигде не нашел примеров того, каким образом
>с помощью него можно делать разбор пакетов, установку неких флагов, которые
>отвечают за то - пропускать в систему данный пакет или нет.
>Тоесть в общем случае каким образом реализовывается accept и drop policy.

netgraph умеет все, что ты можешь себе представить. Примеры - /usr/src/sys/netgraph/ng_*. Обрати внимание на ng_bpf, может и писать ничего не нужно будет - делит пакеты на основе соответствия bpf правилам. Свою ноду несложно написать - нет там никаких флагов, просто если пакет проходит - отправляешь его дальше, иначе не отправляешь.