Книга: UNIX: разработка сетевых приложений
29.5. Libcap: библиотека для захвата пакетов
29.5. Libcap: библиотека для захвата пакетов
Библиотека захвата пакетов libcap
обеспечивает не зависящий от реализации доступ к средствам операционной системы, с помощью которых осуществляется этот захват. В настоящее время поддерживается только чтение пакетов (хотя добавление нескольких строк кода в библиотеку позволяет также записывать пакеты в некоторых системах). В следующем разделе приводится описание альтернативной библиотеки, которая не только дает возможность записывать пакеты на канальный уровень, но и позволяет конструировать пакеты произвольного типа.
Сейчас осуществляется поддержка BPF для Беркли-ядер, DLPI для Solaris 2.x, NIT для SunOS 4.1.x, пакетных сокетов (SOCK_PACKET
, PF_PACKET
) в Linux и нескольких других операционных системах. Библиотека libcap
используется программой tcpdump
. Всего в библиотеке насчитывается порядка 25 функций, но вместо того чтобы просто описывать их, мы продемонстрируем их фактическое использование на примере, рассматриваемом в следующем разделе. Названия всех функций начинаются с pcap_
. Они описаны более подробно на странице руководства, которая называется pcap
.
ПРИМЕЧАНИЕ
Библиотека libcap находится в свободном доступе по адресу http://www.tcpdump.org/.
- 2.4. Выбор пакетов для установки
- 4.10.1. Фильтрация пакетов
- 16.3.1. Первый способ: из пакетов RPM
- Глава 17. Создание пакетов и распространение программ
- 17.2.1. Библиотека setup.rb
- 14.12.1. Дефрагментация пакетов
- 15.2.1. Стандартная библиотека rss
- Библиотека Ext Core
- А.2.4. Библиотека ccmalloc
- Регистры для управления каналами захвата
- 19.5. Создание RPM-пакетов
- Менеджеры пакетов