Получает ли libpcap копию пакета?
-
26-09-2019 - |
Вопрос
Получает ли libpcap копию пакета или сам пакет?
Под копией я имею в виду:приложение, использующее libpcap, получает пакет A, и ядро также получает пакет A.
Под фактическим я имею в виду: только приложение, использующее libpcap, получает пакет A, но ядро его не получило.
Решение
libpcap
не позволит вам делать то, что вы хотите.Цель pcap — прозрачно получать копию каждого пакета в системе.
Вам следует изучить, как взаимодействовать с существующим брандмауэром в вашей системе или как добавить свои собственные фильтры в систему netfilter (в Linux).
Другие советы
Ядро получит пакет, затем пропустит его через список фильтров (например, обычно есть фильтр для IPsec, брандмауэр и т. д.) и, пройдя через все эти фильтры, передает пакет приложению.libpcap — это еще один фильтр, но он просто добавляет пакет во внутреннюю базу данных для обработки, а не проверяет пакет, изменяет или что-то еще, что делают другие фильтры.
Для того, что вы хотите сделать, самым простым решением будет использование брандмауэра.