iptables и libpcap - PullRequest
       36

iptables и libpcap

3 голосов
/ 06 мая 2009

У меня есть правило, настроенное для отбрасывания пакетов udp / tcp с соответствующими строками. однако моя программа, которая захватывает пакет с помощью libpcap, все еще может видеть этот пакет.

Почему это /, какие должны быть правила iptable для отбрасывания пакетов до того, как их увидит libpcap?

В любом случае, возможно, помимо правил iptables, отбросить этот пакет до того, как он увидит libpcap / tcpdump?

Ответы [ 3 ]

7 голосов
/ 06 мая 2009

Да, libpcap видит все пакеты. . Они захватываются перед обработкой сетевым фильтром.

0 голосов
/ 05 июня 2016

Вы пытались изменить приоритет используемого вами крючка сетевого фильтра? если вы попытаетесь перехватить с наивысшим приоритетом для входящих пакетов, он получит пакет до кода ядра сокета пакета, который libpcap использует для захвата пакетов.

* Я полагаю, вы используете Linux *

EDIT: Libpcap использует разные способы захвата пакетов - в зависимости от ОС. в Linux он использует сокет пакета, который реализован в коде ядра с использованием инфраструктуры netfilter.

0 голосов
/ 03 июня 2009

Для libpcap нет способа увидеть пакеты до netfilter, netfilter является модулем ядра и обрабатывает все пакеты до того, как они перейдут в режим пользователя, он может даже увидеть пакеты до того, как ядро ​​его увидит. Не могли бы вы объяснить дальше объяснить? Вполне возможно, что libpcap также устанавливает ловушки на netfilter, которые перезаписывают тот, что в iptables. Реальная проблема заключается в том, что поиск и то, какие хуки установлены в netfilter, далеко не тривиален и может быть выполнен только в режиме ядра. Изучите, как libpcap получает пакеты.

...