Реализация connection tracking в userspace? Задача следующая.
Нужно анализировать проходящий трафик, и дропать пакеты по каким то правилам скажем со Skype протоколом.
С анализом протокола проблем нет.
Встает вопрос, как хранить результат, а если хранить, то сколько, да еще так чтоб памяти хватило, а если будет куча мелких соединений.
В общем напрашивается connetction tracking, который реализован в kernel linux (netfilter), т.к. позволит вовремя удалить коннект, который закрылся, и лишний раз не анализировать трафик, если протокол уже известен.
Собственно вопрос, может кто видел/знает какие то реализации этого самого connection tracking для того чтобы заюзать в userspace приложении, а то из netfilter уж больно не хочется выковыривать.
P.S.: Ядровые коннекты использовать не могу, т.к. пакеты обрабатываются до поступления в ядро.

21 Авг 2019 в 06:51
187 +2
1
Ответы
1

Один из способов реализации connection tracking в userspace - использование библиотеки libnetfilter_conntrack. Эта библиотека предоставляет API для работы с connection tracking в userspace приложениях.

Вы можете использовать эту библиотеку для создания своей собственной реализации connection tracking в userspace, включая сохранение информации о соединениях, их обновление и удаление при необходимости.

Однако стоит отметить, что реализация connection tracking в userspace может быть более сложной и менее эффективной, чем использование встроенной функциональности netfilter в ядре Linux. Поэтому перед тем как принять решение о реализации в userspace, рекомендуется внимательно оценить все возможности и ограничения данного подхода.

20 Апр 2024 в 13:12
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир