本文地址:https://www.ebpf.top/post/head_first_bpf 本文视频版本: eBPF 技术介绍(上) https://www.bilibili.com/video/BV1BT4y1q7wx/ 本视频一切权利归 bilibili 及 原作者所有 如果觉得好, 请点击跳转到 bilibili给予支持 BV1BT4y1q7wx eBPF技术介绍(下)https://www.bilibili.com/vid……
阅读全文
本文地址:https://www.ebpf.top/post/passive-linux-stack-sampler-ebpf 1. 背景 2. xstack 工具简介 2.1 构建 2.2 工具使用方式 2.3 实现命令行火焰图 3. xstack 实现原理 3.1 工具实现原理 4. 实现源码解析 4.1 内核空间源码 3.2 用户空间核心代码 5. 总结 6. 代码附录 6.1 eBPF 核心代……
阅读全文
本文地址:https://www.ebpf.top/post/ebpf_tour_basic 1. eBPF 是什么,为何如此重要? 2. eBPF 快速上手 3. 从源码到内核中运行 4. Map、事件流与可发现性 5. eBPF 程序类型与挂载位置 6. CO-RE、BTF 与 libbpf:可移植性的分发模式 7. 验证器 (Verifier) 简述 8. 可观测、安全……
阅读全文
本文地址:https://www.ebpf.top/post/monitoring-mcp-traffic-using-ebpf-part-1 1. 前言 2. 为什么要关注 MCP? 2.1 安全的 MCP(Security MCP) 3. 为什么选择 eBPF 3.1 LD_PRELOAD 钩子(Hooking) 3.2 自定义内核模块 3.3 eBPF 4. 实施阶段……
阅读全文
本文地址:https://www.ebpf.top/post/04-ebpf-uprobes-decoding-go-function-arguments-registers-memory-layout-to-parse-grpc-headers 1. Uprobes 简介 2. 架构总览 3. 先决条件和设置……
阅读全文
本文地址:https://www.ebpf.top/post/03-lets-understand-kprobes-kretprobes 1. 工作原理 2. 注意事项 3. 实战示例 3.1 跟踪目标进程 PID 4. eBPF 程序逻辑:提取 HTTP 头 4.1 跟踪连接建立:kretprobe/__sys_accept4 4.2 跟踪数据读取……
阅读全文
本文地址:https://www.ebpf.top/post/02-understanding-ebpf-core-building-blocks 1. BPF 程序类型与钩子点 2. BPF 验证器:安全守护者 3. BPF map:数据存储与通信 4. 辅助函数:内核 API 5. BTF & CO-RE:一次编写,到处运行 6. BPF 尾调用(……
阅读全文
本文地址:https://www.ebpf.top/post/01-intro-into-ebpf-and-rust 1. 什么是 eBPF? 2. 为什么选择 Rust? 3. 可用的 Rust 库 3.1 libbpf-rs 3.2 Aya 4. 为什么选择 libbpf-rs 4.1 什么是 libbpf? 4.2 CO-RE 的工作原理 4.3 为什么选择 libbpf-rs 4.5 为什么 libbpf-rs 适合我的场景 5. eBPF + Rust:架……
阅读全文
本文地址:https://www.ebpf.top/post/bpf_five_loops 1. 前言 本文的主题是在 eBPF 技术中代码如何编写循环。 循环几乎是我们所能接触到的所有编程语言中的通用概念,但在 eBPF 中,它们可能要复杂一些。更不用说,截止到目前 eBPF 提供了5+ 种不同的循环方式 - 那么我们应该……
阅读全文
本文地址:https://www.ebpf.top/post/bpf_capabilities_debug 作者:kira skyler 前言 借助 eBPF 大展身手 追踪权能变化 屠龙 前言 在 Linux 操作系统中," 权能 " (capabilities) 是一种权限机制,用于 linux 系统中的全部特权,细粒度地划分为多个独立的权限位。这样,用户或……
阅读全文