Программирование libnetfilter_queue, как я могу узнать, какая программа отправляет пакет?

Я пытаюсь создать брандмауэр на уровне приложений для Linux, но пока я могу сказать только такие вещи, как IP-адрес, номер порта.

Можно ли узнать, какая программа отправляет пакет? Если мне не нужно размещать модуль ядра.

Спасибо !


person daisy    schedule 03.01.2012    source источник


Ответы (2)


Не на этот раз. Три случая:

  • input paath: поиск сокета еще не был выполнен к моменту запуска xtables
  • прямой путь: очевидно, что локального сокета нет
  • (локальный) выходной путь: ни информация о процессе, ни информация о сокете не передаются в nf_queue, хотя был предложен патч, но он не привлек особого внимания.
person jørgensen    schedule 03.01.2012

Я думаю, что можно использовать метку сетевого фильтра для пакета (в правиле, которое запускается перед NFQUEUE) и получать его с помощью nfq_get_nfmark. Я не пробовал и не знаю, сработает ли.

person MarkR    schedule 04.01.2012