1. 前言 我们可以使用BPF对Linux内核进行跟踪,收集我们想要的内核数据,从而对Linux中的程序进行分析和调试。与其它的跟踪技术相比,使用BPF的主要优点是几乎可以访问Linux内核
2021-05-03 11:27
既然是提供向内核注入代码的技术,那么安全问题肯定是重中之重。平时防范他人通过漏洞向内核中注入代码,这下子专门开了一个口子不是大开方便之门。所以内核指定了很多的规则来限制BPF代码,确保它的错误不会影响到内核:
2022-03-14 16:42
本来想写一篇“BPF 深度分析、环境搭建与案例分析”的文章,但是篇幅过长,于是先把BPF编程的环境搭建先放出来。接下来的文章将对BPF深度分析(包括BPF虚拟机、
2022-10-14 17:02
文章介绍了 BPF ring buffer 解决的问题及背后的设计,并给出了一些代码示例和内核 patch 链接,深度和广度兼备,是学习 ring buffer 的极佳参考。
2022-05-17 09:37
BPF简介 BPF,全称是Berkeley Packet Filter(伯克利数据包过滤器)的缩写。其诞生于1992年,最初的目的是提升网络包过滤工具的性能。后面,随着这个工具重新实现BPF的内核
2023-11-10 10:34
我们可以使用BPF对Linux内核进行跟踪,收集我们想要的内核数据,从而对Linux中的程序进行分析和调试。与其它的跟踪技术相比,使用BPF的主要优点是几乎可以访问Linux内核和应用程序的任何信息,同时,BPF对系
2021-06-30 17:28
这个新的编程环境混合使用了 C语言扩展以及运行时环境的组合实现的,这个运行时环境包含了 Clang、用户空间的 BPF 加载器库(libbpf)和内核中的 BPF 子系统。
2022-10-19 11:27
从指令集角度,BPF 起初的架构比较简单,只有一个32位宽度累加器A,一个32位宽度寄存器X,以及16x32bit 数组内存空间。但BPF 实现了加载、存储、跳转、运算四类指令。
2023-07-26 12:28
因此内核 5.8 引入了 ringbuf 来解决这个问题。ringbuf 是一个“多生产者、单消费者”(multi-producer, single-consumer,MPSC) 队列,可安全地在多个 CPU 之间共享和操作。
2022-05-07 11:12
如今,云原生平台越来越多的使用了基于eBPF的安全探测技术。这项技术通过创建安全的Hook钩子探针来监测内部函数和获取重要数据,从而支持对应用程序的运行时做监测和分析。
2022-07-13 09:03