Оглавление |
Название
bpf - Модуль отбора пакетов (Berkeley Packet Filter)Синтаксис
bpf ifname ADDR PORTОписание
bpf ifname -
Модуль отбора пакетов, реализуемый командой bpf, позволяет перехватить весь поток информации, проходящий через любой интерфейс системы, и направить его на удалённую рабочую станцию для дальнейшего анализа и контроля. Отбор пакетов производится путём дублирования проходящих пакетов и не мешает обычной работе маршрутизатора.В силу ограниченного объёма памяти и вычислительных ресурсов, программное обеспечение маршрутизатора не содержит средств разбора и анализа потоков данных, однако с помощью модуля отбора пакетов можно выполнять подобный анализ на любой рабочей станции сети (даже в реальном времени) с помощью более мощных средств анализа (подобных утилите tcpdump).
Практически, каждый пакет (вместе с заголовком MAC уровня), проходящий сквозь интерфейс, пересылается на удалённую рабочую станцию по протоколу UDP на заданный адрес и порт.
Не составляет большого труда написать небольшую программу, которая будет принимать такие пакеты и сохранять их в файл или подавать на вход анализатора пакетов.
В качестве прототипа, предлагается исходный текст программы bpfshow для системы FreeBSD/OpenBSD. В данном случае, программа запускается с одним аргументом - номером порта и записывает все принимаемые пакеты в файл pcap.raw.
После чего можно проанализировать содержимое потока утилитой tcpdump:
bpfshow 8000
^c
tcpdump -r pcap.rawПримеры:
bpf rf0 10.11.12.13 8000
Включает режим отбора пакетов с пересылкой всех пакетов, проходящих через интерфейс rf0 на станцию с адресом 10.11.12.13 порт 8000bpf rf0 -
Отключает режим отбора пакетов на интерфейсе rf0