2016-06-08 5 views
0

Я хочу перехватить сетевой трафик из пользовательского пространства, поэтому я использовал libpcap API s для захвата пакетов tcp/ip. Сейчас я просто собираю информацию о заголовке пакета & полезной нагрузки в зарегистрированном обратном вызове. Как я могу использовать этот обратный вызов для блокировки трафика или удаления пакета на основе определенных условий? Или механизм pcap является чисто механизмом захвата?Перехват сетевого трафика libpcap

ответ

0

Вы не можете. Как вы сказали в своем собственном вопросе libpcap может использоваться только для проверки трафика, проходящего через сетевой интерфейс, его нельзя использовать, чтобы каким-либо образом повлиять на этот трафик.

+0

I.e., it * есть * чисто механизм захвата. (Ну, в более поздних версиях также поддерживается пакетная инъекция, но он * не * поддерживает перехватывание пакетов в середине сетевого стека и изменение их или их удаление.) –

+0

, то какой другой библиотечный API я могу использовать, где я могу не только проверять трафика, но и принять вердикт по нему на основе некоторой бизнес-логики. Я не хочу использовать модуль ядра, хочу добиться этого, используя компонент пользовательского пространства. Использует ли libnetfilter хороший вариант? – atish

Смежные вопросы