iptables и libpcap
-
06-07-2019 - |
Вопрос
у меня настроено правило для отбрасывания пакетов udp/tcp с совпадающими строками.однако моя программа, которая захватывает пакет с помощью libpcap, все еще может видеть этот пакет.
Почему это/, какие должны быть правила iptable, чтобы отбрасывать пакеты до того, как их увидит libpcap?
Есть ли способ, помимо правил iptables, отбросить этот пакет до того, как его увидит libpcap/tcpdump?
Решение
Да, libpcap видит все пакеты. . Они захватываются перед обработкой сетевым фильтром. Р>
Другие советы
Вы пытались изменить приоритет используемого вами перехватчика netfilter?если вы попытаетесь перехватить входящие пакеты с наивысшим приоритетом, он получит пакет раньше кода ядра сокета пакета, и это тот способ, который libpcap использует для захвата пакетов.
*Я предполагаю, что вы используете Linux*
РЕДАКТИРОВАТЬ:Libpcap использует разные способы захвата пакетов — в зависимости от операционной системы.в Linux он использует пакетный сокет, который реализован в коде ядра с использованием структуры netfilter.
У libpcap нет возможности видеть пакеты до netfilter, netfilter — это модуль ядра, который обрабатывает все пакеты до того, как они попадут в пользовательский режим, он может даже видеть пакеты до того, как их увидит ядро.Не могли бы вы объяснить дальше, объяснить?Возможно, libpcap также устанавливает перехватчики для netfilter, которые перезаписывают тот, что в iptables.Реальная проблема заключается в том, что поиск и определение того, какие перехваты установлены в netfilter, далеко не тривиален и может быть выполнен только в режиме ядра.Выясните, как libpcap получает пакеты.