Вопрос

Получает ли libpcap копию пакета или сам пакет?

Под копией я имею в виду:приложение, использующее libpcap, получает пакет A, и ядро ​​также получает пакет A.

Под фактическим я имею в виду: только приложение, использующее libpcap, получает пакет A, но ядро ​​его не получило.

Это было полезно?

Решение

libpcap не позволит вам делать то, что вы хотите.Цель pcap — прозрачно получать копию каждого пакета в системе.

Вам следует изучить, как взаимодействовать с существующим брандмауэром в вашей системе или как добавить свои собственные фильтры в систему netfilter (в Linux).

Другие советы

Ядро получит пакет, затем пропустит его через список фильтров (например, обычно есть фильтр для IPsec, брандмауэр и т. д.) и, пройдя через все эти фильтры, передает пакет приложению.libpcap — это еще один фильтр, но он просто добавляет пакет во внутреннюю базу данных для обработки, а не проверяет пакет, изменяет или что-то еще, что делают другие фильтры.

Для того, что вы хотите сделать, самым простым решением будет использование брандмауэра.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top