Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ebpfmon — Terminal UI for real-time monitoring and inspection of eBPF programs and maps using bpftool, enabling live debugging and analysis of kernel-level observability data. | Kitploit
工具/GitHubGitHub/redcanaryco/ebpfmon
动态分析 (沙盒)调试器实用工具与框架
GitHubredcanaryco/ebpfmon

ebpfmon

Terminal UI for real-time monitoring and inspection of eBPF programs and maps using bpftool, enabling live debugging and analysis of kernel-level observability data.

查看仓库
90463年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Build workflow

ebpfmon

ebpfmon 是一个用于监控 eBPF 程序的工具。它设计为与 Linux 内核中的 bpftool 一起使用。ebpfmon 是一个用 Go 编写的 TUI(终端用户界面)应用程序,允许您实时监控 eBPF 程序。

安装

eBPFmon 可以从源代码构建,也可以在 releases 中找到编译版本。

必需依赖

  • 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 编写的,因此您需要安装 Go 并将其添加到 PATH 变量中。它应适用于 Go 1.18 或更高版本,尽管也可能在更早版本上工作。只是尚未测试。

接下来,请确保安装以下依赖。

  • clang
  • llvm

只需运行以下命令。这将在当前目录中构建 ebpfmon 二进制文件。

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

文档

基本导航

ebpfmon 的主视图是程序视图。该视图显示系统上当前加载的所有 eBPF 程序。每个窗格都是可选择的,您可以使用 tab 键在窗格之间切换。在给定窗格中,您可以使用箭头键上下滚动文本或列表选择。对于程序或映射等列表,您可以按回车键进行选择。选择一个程序将在其他窗格中填充该程序的相关信息。选择一个映射将切换到映射条目视图,显示该映射的条目。

按键绑定

ebpfmon 中有一些可用的按键绑定。这些按键绑定列在帮助页面上,可以通过按 F1 键或 ? 键访问。

程序视图

无论您处于哪个视图,要访问程序视图,可以按 Ctrl 和 e。

Bpf 功能视图

无论您处于哪个视图,要访问 bpf 功能视图,可以按 Ctrl 和 f。

映射视图

要访问映射视图,只需为当前 eBPF 程序选择一个映射(如果存在)。这将用映射条目填充映射视图。您可以通过按 d 键删除映射条目。在映射视图中,您可以通过多种方式格式化映射条目数据。要进入格式部分,只需在映射条目列表视图中按 TAB 键。然后您可以使用 TAB 在不同的格式选项之间移动。要返回映射条目列表,请按 ESC 键。

您还可以通过按 ENTER 键来编辑选中的映射条目。在编辑视图中,您可以编辑映射键/值的原始字节值。您可以忽略方括号。

退出

要退出应用程序,您可以按 q 或 Q。

返回

通常,按 ESC 键可返回您之前所在的视图。另外,如果您在帮助视图或错误视图中,按 ESC 键应返回上一个窗口。

命令行参数

-bpftool

允许您指定 bpftool 二进制文件的路径。如果您有想要使用的自定义 bpftool 构建版本,这将非常有用。默认情况下将使用系统的 bpftool 二进制文件。您也可以使用环境变量。它将按以下顺序查找:

  1. 检查是否在命令行中指定了 -bpftool 参数
  2. 检查是否设置了环境变量 BPFTOOL_PATH。
  3. 使用系统二进制文件

-logfile

此参数允许您指定要记录到的文件。默认情况下,它将记录到 ./log.txt。在尝试调试应用程序问题时,这是一个很好的检查文件,因为它会记录运行时发生的错误。

测试

该项目附带一些基础测试。

要运行测试,只需在项目的根目录下运行以下命令

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

如果您想使用自己的 bpftool 二进制文件,可以将 BPFTOOL_PATH 环境变量设置为您 bpftool 二进制文件的路径。否则将默认使用系统自带的。

关于 eBPF 的重要说明

eBPF 映射

  • 冻结映射:如果某个映射被标记为冻结,则意味着未来的系统调用无法更改 map_fd 的映射状态。但对于冻结映射,eBPF 程序的写操作仍然可以执行。这意味着 bpftool(ebpfmon 使用的工具)将无法更改映射条目。这是 bpftool 的限制,而非 ebpfmon 的限制。
  • 环形缓冲区:当尝试查询类型为 ringbuf 的映射时,bpftool 很可能无法获取任何数据。
下载工具