2010-05-12 5 views
2

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

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

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

+0

Я спрашиваю, потому что я пишу приложение, предотвращает отправку любых пакетов TCP на локальный веб-сервер. – sivabudh

ответ

3

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

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

3

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

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

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

  • Нет связанных вопросов^_^