
BPF
文章平均质量分 87
Ym影子
做有技术深度的程序员
展开
-
libbpf-bootstrap开发指南:socket 监测与过滤 - sockfilter
做全网最好的libbpf-bootstrap 开发指南原创 2023-07-16 16:43:46 · 1613 阅读 · 1 评论 -
libbpf-bootstrap开发指南:网络包监测-tc
做全网最好的libbpf-bootstrap 开发指南原创 2023-07-16 16:42:07 · 1620 阅读 · 0 评论 -
libbpf-bootstrap开发指南:系统调用hook - ksyscall
做全网最好的libbpf-bootstrap开发指南原创 2023-07-16 12:08:42 · 583 阅读 · 0 评论 -
libbpf-bootstrap开发指南:内核态探针- kprobe
做全网最好的libbpf-bootstrap开发指南原创 2023-07-16 12:07:22 · 754 阅读 · 0 评论 -
libbpf-bootstrap开发指南:静态跟踪点 - UTSD
做全网最好的libbpf-bootstrap 开发指南原创 2023-07-16 12:05:36 · 1031 阅读 · 0 评论 -
libbpf-bootstrap开发指南:用户态探针 - uprobe
做全网最好的libbpf-bootstrap 开发指南原创 2023-07-16 12:04:08 · 643 阅读 · 0 评论 -
libbpf-bootstrap开发指南:使用ringbuf 进行通信 - bootstrap
做全网最好的libbpf-bootstrap开发指南原创 2023-07-15 21:51:43 · 1371 阅读 · 0 评论 -
libbpf-bootstrap开发指南:使用map结构进行参数传递 - minimal_legacy
做全网最好的libbpf-bootstrap 开发指南原创 2023-07-15 21:47:33 · 1344 阅读 · 0 评论 -
libbpf-bootstrap开发指南:适用于docker等虚拟环境的进程监测 - minimal_ns
最全网最好的libbpf-bootstrap开发指南原创 2023-07-15 21:45:39 · 1492 阅读 · 0 评论 -
libbpf-bootstrap开发指南:第一个tracepoint 监测demo - minimal
做全网最好的libbpf-bootstrap 开发指南原创 2023-07-15 21:43:51 · 1237 阅读 · 0 评论 -
libbpf-bootstrap 开发指南:概念与如何安装
libbpf-bootstrap 是一个项目,旨在帮助开发者快速启动和开发使用 eBPF (Extended Berkeley Packet Filter) 和 libbpf 的程序。eBPF 是一种可以在 Linux 内核中运行的程序,提供了强大的网络过滤、系统调用监控和性能分析等功能。libbpf 是一个库,用于加载和管理 eBPF 程序和 map。libbpf-bootstrap 提供了一些样例程序和模板,帮助开发者理解如何使用 libbpf 创建、加载、管理 eBPF 程序,并与这些程序进行交互。原创 2023-07-15 21:41:39 · 2426 阅读 · 1 评论 -
libbpf 开发指南:更新(替换)与给定 eBPF 链接关联的 eBPF 程序
在运行 loader 之后,请打开一个新的终端并运行 dmesg -w。返回值:如果成功,则返回 0;否则返回一个负的错误代码。原创 2023-07-06 10:27:13 · 404 阅读 · 0 评论 -
libbpf 开发指南:获取与给定 eBPF 链接关联的固定路径
返回值:一个字符串,表示与给定 eBPF 链接关联的固定路径。如果未固定给定的 eBPF 链接,则返回 NULL。原创 2023-07-06 10:24:05 · 563 阅读 · 0 评论 -
libbpf 开发指南:获取与给定 eBPF 链接关联的文件描述符
返回值:一个整数,表示与给定 eBPF 链接关联的文件描述符。如果发生错误,将返回负数。原创 2023-07-06 10:25:34 · 220 阅读 · 0 评论 -
libbpf 开发指南:打开一个已经固定在文件系统路径上的 eBPF 程序的链接
返回值:一个指向 bpf_link 结构的指针,表示 eBPF 程序的链接。如果打开链接失败,将返回 NULL。原创 2023-07-06 10:24:49 · 339 阅读 · 0 评论 -
libbpf 开发指南:从文件系统路径解除固定 eBPF 程序
正常情况下返回 0;如果发生错误,返回负数。原创 2023-07-06 10:21:43 · 196 阅读 · 0 评论 -
libbpf 开发指南:将 eBPF 程序固定到一个给定的文件系统路径
在这个例子中,eBPF 程序被固定在 /sys/fs/bpf/my_bpf_prog 路径。请注意,在运行示例时,需要具有适当的权限,因此使用 sudo 运行它。另外,确保 /sys/fs/bpf 目录存在。正常情况下返回 0;如果发生错误,返回负数。原创 2023-07-06 10:20:57 · 277 阅读 · 0 评论 -
libbpf 开发指南:获取 eBPF 程序的文件描述符
一个整数,表示 eBPF 程序的文件描述符。如果发生错误,将返回负数。原创 2023-07-06 10:20:19 · 421 阅读 · 0 评论 -
libbpf 开发指南:自动加载BPF程序所需的内核模块
参数说明:返回值:return 0;if (!obj) {return 1;if (!prog) {return 1;return 0;CC=gccall: testclean:rm -f test./demo。原创 2023-07-06 10:22:06 · 507 阅读 · 0 评论 -
libbpf开发指南:获取与给定 BPF 程序关联的 ELF section 名称
返回一个表示 ELF section 名称的字符串。原创 2023-07-06 10:21:18 · 405 阅读 · 0 评论 -
libbpf开发指南:获取BPF程序的名称
该函数返回一个指向BPF程序名称的C字符串。原创 2023-07-04 11:02:51 · 201 阅读 · 0 评论 -
libbpf 开发指南:迭代一个 BPF 对象的 BPF 程序
参数说明:返回值:return 0;if (argc!= 2) {return 1;int err;if (err) {return 1;= NULL) {return 0;CC = gccclean:原创 2023-07-04 10:59:37 · 297 阅读 · 0 评论 -
libbpf 开发指南:查找具有给定名称和附加类型的内核 BTF(BPF Type Format)类型 ID
参数解释:返回值:return 0;int btf_id;return 1;return 0;CC = gccclean:原创 2023-07-04 11:01:04 · 345 阅读 · 0 评论 -
libbpf 开发指南:根据给定的名称查找 BPF 程序类型和期望的附加类型
例如,BPF_PROG_TYPE_SOCKET_FILTER 类型的 eBPF 程序可用于过滤网络套接字上收到的数据包,BPF_PROG_TYPE_KPROBE 类型的 eBPF 程序可用于在内核函数的入口和出口处附加探针,以收集函数调用的信息。BPF_PROG_TYPE_SOCKET_FILTER, // 用于套接字过滤的 eBPF 程序。BPF_PROG_TYPE_SCHED_CLS, // 用于流量控制分类器的 eBPF 程序。BPF_PROG_TYPE_UNSPEC, // 未指定类型。原创 2023-07-04 10:59:29 · 411 阅读 · 0 评论 -
libbpf 开发指南:在给定的 BPF 对象中查找具有指定名称的 BPF 程序
在上述示例中,get_object_name 程序加载 BPF 对象(prog.o),然后使用 bpf_object__name 函数获取其名称。// 使用名称查找 BPF 程序。// 加载 BPF 程序。// 关闭 BPF 对象。原创 2023-07-04 10:55:42 · 340 阅读 · 0 评论 -
libbpf 开发指南:获取bpf_object 关联的 BTF(BPF Type Format)信息与文件描述符
做最好的bpf教程原创 2023-07-02 16:37:30 · 652 阅读 · 0 评论 -
libbpf 开发指南:获取给定 bpf_object 的名称
做最好的bpf教程原创 2023-07-02 16:32:32 · 196 阅读 · 0 评论 -
libbpf 开发指南:将bpf结构固定到文件系统以便于进程共享
做最好的bpf 教材原创 2023-07-02 16:31:22 · 1005 阅读 · 0 评论 -
libbpf 开发指南:设置libbpf的函数回调打印
做最好的BPF教程原创 2023-07-02 16:28:28 · 482 阅读 · 0 评论 -
libbpf 开发指南:类型转字符串
做最好的libbpf教程原创 2023-07-02 16:27:27 · 654 阅读 · 0 评论 -
libbpf 开发指南:错误与版本信息API介绍
如果函数直接返回错误代码,则使用 0 表示成功,使用负错误代码表示导致错误的原因。在这种情况下,应该直接从返回中检查错误代码,不需要检查 errno。如果函数返回一个指针,它将返回 NULL 以指示发生错误。在这种情况下,应检查 errno 中的错误代码。当 libbpf 在“libbpf 1.0 模式”下使用时,API 函数可以通过两种方式之一返回错误。原创 2023-07-02 14:09:24 · 587 阅读 · 0 评论 -
libbpf 开发指南:概述
libbpf 是一个基于 C 的库,包含一个 BPF 加载程序,该加载程序获取已编译的 BPF 目标文件并准备它们并将其加载到 Linux 内核中。libbpf 承担了加载、验证 BPF 程序并将其附加到各种内核挂钩的繁重工作,使 BPF 应用程序开发人员能够只关注 BPF 程序的正确性和性能。为用户空间程序与BPF程序交互提供高层和低层API。原创 2023-07-02 14:05:07 · 1719 阅读 · 0 评论 -
BPF 之路:技术背景
BPF 之路原创 2023-03-28 10:51:21 · 2190 阅读 · 1 评论