Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ebpfmon — Интерфейс терминала для мониторинга и проверки eBPF-программ и карт в реальном времени с помощью bpftool, обеспечивающий живую отладку и анализ данных наблюдения на уровне ядра. | Kitploit
Инструменты/GitHubGitHub/redcanaryco/ebpfmon
Динамический анализ (песочница)ОтладчикиУтилиты и фреймворки
GitHubredcanaryco/ebpfmon

ebpfmon

Интерфейс терминала для мониторинга и проверки eBPF-программ и карт в реальном времени с помощью bpftool, обеспечивающий живую отладку и анализ данных наблюдения на уровне ядра.

Репозиторий
9042 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Build workflow

ebpfmon

ebpfmon — это инструмент для мониторинга программ eBPF. Он предназначен для использования с bpftool из ядра Linux. ebpfmon — это TUI (терминальный интерфейс) приложение, написанное на Go, которое позволяет осуществлять мониторинг eBPF-программ в реальном времени.

Установка

eBPFmon можно собрать из исходников, либо воспользоваться скомпилированной версией из релизов

Необходимые зависимости

  • bpftool (установленный из менеджера пакетов или собранный из исходников). Именно через него ebpfmon получает информацию о eBPF-программах, картах и т.д.
  • libelf
  • zlib

Необязательные (но крайне рекомендуемые) зависимости

  • libcap-devel
  • libbfd

Ubuntu 20.04+

root@kitploit:~
$ sudo apt install linux-tools-`uname -r` libelf-dev zlib1g-dev libcap-dev binutils-dev

Amazon Linux 2

root@kitploit:~
$ sudo yum install bpftool elfutils-libelf-devel libcap-devel binutils-devel

Rhel, CentOS, Fedora

root@kitploit:~
$ sudo dnf install elfutils-libelf-devel libcap-devel zlib-devel binutils-devel bpftool

Debian 11

root@kitploit:~
$ sudo apt install bpftool libelf-dev zlib1g-dev libcap-dev binutils-dev

Использование

root@kitploit:~
$ ./ebpfmon

ПРИМЕЧАНИЕ: bpftool требует прав root, поэтому ebpfmon будет выполнять sudo bpftool .... Это означает, что, скорее всего, будет запрошен ваш sudo-пароль.

Сборка из исходников

Дополнительные зависимости

Прежде всего, этот инструмент написан на Go, поэтому он должен быть установлен и находиться в переменной PATH. Должен работать на Go 1.18 и новее, хотя возможно и на более ранних версиях. Просто это не проверялось.

Далее установите следующие зависимости:

  • clang
  • llvm

Просто выполните следующие команды. Они соберут бинарник ebpfmon в текущей директории:

root@kitploit:~
$ git clone https://github.com/redcanaryco/ebpfmon.git
$ cd ebpfmon
$ make

Документация

Основная навигация

Основной вид ebpfmon — это вид программ. В этом виде отображаются все eBPF-программы, загруженные в данный момент в систему. Каждая панель выбирается, и переключаться между панелями можно с помощью клавиши tab. Внутри панели можно использовать клавиши со стрелками для прокрутки текста или перемещения выбора в списке вверх и вниз. Для списков, таких как программы или карты, нажатие Enter выбирает элемент. Выбор программы заполняет остальные панели информацией об этой программе. Выбор карты переключает в режим просмотра записей карты, где отображаются её записи.

Горячие клавиши

В ebpfmon доступно несколько комбинаций клавиш. Они перечислены на странице справки, которую можно открыть нажатием F1 или ?.

Вид программ

Чтобы перейти к виду программ, независимо от того, в каком виде вы находитесь, нажмите Ctrl и e.

Вид возможностей bpf

Чтобы перейти к виду возможностей bpf, независимо от текущего вида, нажмите Ctrl и f.

Виды карт

Чтобы перейти к виду карт, просто выберите карту (если она существует) для текущей eBPF-программы. Это заполнит вид карты её записями. Вы можете удалять записи карты нажатием клавиши d. В виде карты можно форматировать данные записей разными способами. Чтобы перейти к разделу форматирования, нажмите TAB в режиме просмотра списка записей карты. Затем с помощью TAB можно перемещаться между различными опциями форматирования. Чтобы вернуться к списку записей карты, нажмите ESC.

Вы также можете редактировать записи карты, нажав ENTER на выбранной записи. В режиме редактирования можно изменять сырые байтовые значения ключа/значения карты. Квадратные скобки можно игнорировать.

Выход

Чтобы выйти из приложения, нажмите q или Q.

Возврат

Обычно клавиша ESC возвращает вас к предыдущему виду. Также, если вы находитесь в окне справки или ошибки, нажатие Escape должно вернуть вас в предыдущее окно.

Аргументы командной строки

-bpftool

Позволяет указать путь к бинарнику bpftool. Это полезно, если у вас есть собственная сборка bpftool, которую вы хотите использовать. По умолчанию используется системный бинарник bpftool. Также можно использовать переменную окружения. Поиск происходит в следующем порядке:

  1. Проверка, указан ли аргумент -bpftool в командной строке.
  2. Проверка, установлена ли переменная окружения BPFTOOL_PATH.
  3. Использование системного бинарника.

-logfile

Этот аргумент позволяет указать файл для ведения журнала. По умолчанию логирование ведётся в ./log.txt. Это отличный файл для проверки при попытке отладки проблем приложения, так как в него записываются ошибки, возникшие во время выполнения.

Тестирование

В проекте есть несколько базовых тестов.

Чтобы запустить тесты, выполните следующую команду из корневой директории проекта:

root@kitploit:~
$ go test ./...

Если вы хотите использовать свой бинарник bpftool, можно установить переменную окружения BPFTOOL_PATH в путь к вашему бинарнику. Если этого не сделать, будет использоваться системный.

Важные замечания о eBPF

eBPF-карты

  • Замороженные карты: Если карта помечена как замороженная, это означает, что ни один последующий системный вызов не сможет изменить состояние карты через map_fd. Операции записи из eBPF-программ для замороженной карты всё ещё возможны. Это означает, что bpftool (который используется ebpfmon) не сможет изменять записи такой карты. Это ограничение bpftool, а не ebpfmon.
  • Кольцевые буферы: bpftool, скорее всего, не получит никаких данных при попытке запросить карту типа ringbuf.
Скачать инструмент