Мониторинг сетевой сессии Linux

Я использую libnetfilter_conntrack для мониторинга сетевых сессий в C ++.
Единственное, чего не хватает, это PID, который создал сеанс (сокет).

В настоящее время я получаю индекс сессии из / proc / net / tcp, а затем перехожу через / proc // fd для поиска процесса, которому принадлежит этот сокетный индекс.

Это очень неэффективно, и если процесс будет очень коротким, я не получу его вовремя.

Есть ли лучший способ сделать это из пространства пользователя?
Если нет, то возможно ли построить простой модуль ядра, который будет переводить inode в pid более эффективно?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]