首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >eBPF >eBPF 支持哪些事件挂载点(Hook)?

eBPF 支持哪些事件挂载点(Hook)?

词条归属:eBPF

1. 系统调用与内核函数

eBPF 可挂载到系统调用以及内核函数的入口与返回点,用于观测进程行为、函数调用关系等。通过 kprobe 能动态跟踪内核中的导出函数,通过 uprobe 则能跟踪用户态程序中的函数,二者都具备较强的灵活性。

2. 内核 tracepoint

tracepoint 是内核开发者预先埋设的静态跟踪点,提供稳定的 ABI 接口,适合长期、可靠的观测。相比 kprobe 依赖函数符号(可能随内核版本变化而失效),tracepoint 的接口更为稳定,但数量和覆盖场景受限于内核内置的埋点。

3. 网络事件点

在网络领域,eBPF 可挂载到 XDP(eXpress Data Path)、TC(Traffic Control)、socket 过滤器等位置,在网络包到达内核的不同阶段进行处理。XDP 位于网络驱动层尽可能早的位置,TC 则处于更高层次、可访问更多数据包元数据。

4. 性能事件与采样

eBPF 还能与内核性能事件子系统结合,使用 perf_event 进行定时采样、硬件性能计数器(PMC)采集以及调用栈收集,用于性能分析与统计剖析。

相关文章
eBPF+Linux 6.18:云原生环境下的安全监控与故障排查实战
云原生时代,安全风险与故障复杂度陡增,传统监控工具的性能瓶颈与侵入性部署已难以应对。eBPF技术打破内核态观测壁垒,而Linux 6.18的专属优化更让其实现质的飞跃。本文立足实战,拆解eBPF+Linux 6.18核心优势,结合真实案例梳理全流程落地方案,是中高级DevOps工程师的进阶指南与企业云原生安全体系构建手册。
用户11964452
2025-12-24
9110
BPF简介
BPF,及伯克利包过滤器Berkeley Packet Filter,最初构想提出于 1992 年,其目的是为了提供一种过滤包的方法,并且要避免从内核空间到用户空间的无用的数据包复制行为。它最初是由从用户空间注入到内核的一个简单的字节码构成,它在那个位置利用一个校验器进行检查 —— 以避免内核崩溃或者安全问题 —— 并附着到一个套接字上,接着在每个接收到的包上运行。几年后它被移植到 Linux 上,并且应用于一小部分应用程序上(例如,tcpdump)。其简化的语言以及存在于内核中的即时编译器(JIT),使 BPF 成为一个性能卓越的工具。
233333
2022-05-10
2K0
用 eBPF 打造下一代云原生可观测性平台:Kubernetes + Cilium 实践指南
结合 eBPF 技术演进 与 Cilium 实战落地 的完整教程,构建高性能、低侵入的 Kubernetes 可观测性平台,助力云原生网络安全与 DevOps 实践。
大熊计算机
2025-07-14
1.2K0
eBPF 技术实践:加速容器网络转发,耗时降低60%+
Linux 具有功能丰富的网络协议栈,并且兼顾了非常优秀的性能。但是,这是相对的。单纯从网络协议栈各个子系统的角度来说,确实做到了功能与性能的平衡。不过,当把多个子系统组合起来,去满足实际的业务需求,功能与性能的天平就会倾斜。
深度学习与Python
2022-11-28
1.9K0
【eBPF 技术】能绑定 eBPF 程序在哪一些核上运行吗?
不能。你不能像固定(pin)一个普通用户态进程那样,直接在运行时为 eBPF 程序本身指定它必须运行在哪个 CPU 核心上。
Lokinli
2025-07-19
2440
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券