分类 BPF 中的文章

【译】eBPF 概述:第 1 部分:介绍

本系列导航: eBPF 概述:第 1 部分:介绍 eBPF 概述:第 2 部分:机器和字节码 eBPF 概述:第 3 部分:软件开发生态 eBPF概述:第 4 部分:在嵌入式系统运行 eBPF概述:第 5 部分:追踪用户进程 原文地址:https://www.collabora.com/news-and-blog/blog/2019/……

阅读全文

深入浅出 BPF TCP 拥塞算法实现原理

本文地址:https://www.ebpf.top/post/ebpf_struct_ops 1. 前言 eBPF 的飞轮仍然在快速转动,自从 Linux 内核 5.6 版本支持 eBPF 程序修改 TCP 拥塞算法能力,可通过在用户态修改内核中拥塞函数结构指针实现;在 5.13 版本中该功能又被进一步优化,增加了该类程序类型直接调用部分内核……

阅读全文

深入浅出 eBPF 安全项目 Tracee

1. Tracee 介绍 1.1 Tracee 介绍 Tracee 是一个用 于 Linux 的运行时安全和取证工具。它使用 Linux eBPF 技术在运行时跟踪系统和应用程序,并分析收集的事件以检测可疑的行为模式。Tracee 以 Docker 镜像的形式交付,监控操作系统并根据预定义的行为模式集检测可疑行为。官网文档参见这里。 Tracee 由以下子项目组成: Trace-eBPF - 使用 eBPF 进行 Linux 追踪和取证……

阅读全文

【BPF入门系列-12】【译】eBPF 和 Go 经验初探

原文地址:https://networkop.co.uk/post/2021-03-ebpf-intro/ 本站相关文档:使用 Go 语言管理和分发 ebpf 程序 1. 前言 eBPF 的生态欣欣向荣,无论是 eBPF 本身及其各种应用(包括 XDP) 方面都有大量的学习资源。但当涉及到选择库和工具来与 eBPF 进行交互时,会让人有……

阅读全文

使用 Go 语言管理和分发 ebpf 程序

1. Go 语言管理 eBPF 程序库 1.1 cilium/ebpf cilium/ebpf 库是 Cilium 项目的一个子项目。仅使用 Go 语言编写的库,提供了加载、编译和调试 eBPF 程序的功能。它具有最小的外部依赖性,适合在长期运行的进程中使用。库主要有由 Cloudflare 和 Cilium 两家公司维护,由于 Cilium 产品的火爆程度,该库的活跃度在社区层面还是会持续演进和发展。 cilium/ebpf 已经满足生产可用,但 API……

阅读全文

BCC 到 libbpf 的转换指南【译】

[TOC] 译者注: BPF CO-RE 项目在未来将会是非常流行的技术,其让 BPF 编写的工具能够像用户编写的其他程序一样进行二进制分发,不再需要目标机器在 BCC 框架下的 llvm/clang/linux-dev 等包的安装,并且可以跨越不同版本的内核。唯一的要求是需要运行的程序的内核采用了支持 CONFIG_DEBUG_INFO_BTF 内核编译选项,可喜的是当前不少 Linux 发行版已经内置该参数编译,比……

阅读全文