类似推荐
编辑推荐
深入理解Linux内核中BPF虚拟机专业知识的首本著作,面向系统工程师的实践指南。
内容简介
通过本书,你不仅可以深入了解BPF程序的生命周期,熟悉日常工作所需的基本概念,增强有关性能优化、网络和安全方面的知识。
还可以学习如何编写观测和修改内核行为的应用程序,以及通过代码注入的方式对内核事件进行监控、跟踪和安全观测等内容。同时,本书展示了相关的C、Go和Python代码示例。
本书将BPD知识系统的汇总在一起,使BPF爱好者能系统地学习这一技术。
作者简介
[美]大卫·卡拉维拉(David Calavera) [意]洛伦佐·丰塔纳(Lorenzo Fontana)著:大卫·卡拉维拉(David Calavera)是Netlify的CTO,曾是Docker的维护者以及Runc、Go和BCC工具及其他开源项目的贡献者。他构建和促进了Docker插件生态系统,因Docker项目的工作而闻名。David非常喜欢使用火焰图和进行性能优化。
洛伦佐·丰塔纳(Lorenzo Fontana)是Sysdig开源团队的成员,主要负责CNCF(云本地计算基础)的Falco项目,该项目通过内核模块和eBPF实现了容器运行时安全和异常检测功能。他对分布式系统、软件定义网络、Linux内核和性能分析充满热情。
章节目录
版权信息
O'Reilly Media, Inc.介绍
业界评论
推荐序
译者序 学习的心与勇气的赞歌
序言
前言
第1章 引言
1.1 BPF的历史
1.2 架构
1.3 小结
第2章 运行第一个BPF程序
2.1 编写BPF程序
2.2 BPF程序类型
2.2.1 套接字过滤器程序
2.2.2 kprobe程序
2.2.3 跟踪点程序
2.2.4 XDP程序
2.2.5 Perf事件程序
2.2.6 cgroup套接字程序
2.2.7 cgroup打开套接字程序
2.2.8 套接字选项程序
2.2.9 套接字映射程序
2.2.10 cgroup设备程序
2.2.11 套接字消息传递程序
2.2.12 原始跟踪点程序
2.2.13 cgroup套接字地址程序
2.2.14 套接字重用端口程序
2.2.15 流量解析程序
2.2.16 其他BPF程序
2.3 BPF验证器
2.4 BPF类型格式
2.5 BPF尾部调用
2.6 小结
第3章 BPF映射
3.1 创建BPF映射
3.2 使用BPF映射
3.2.1 更新BPF映射元素
3.2.2 读取BPF映射元素
3.2.3 删除BPF映射元素
3.2.4 迭代BPF映射元素
3.2.5 查找和删除元素
3.2.6 并发访问映射元素
3.3 BPF映射类型
3.3.1 哈希表映射
3.3.2 数组映射
3.3.3 程序数组映射
3.3.4 Perf事件数组映射
3.3.5 单CPU哈希映射
3.3.6 单CPU数组映射
3.3.7 栈跟踪映射
3.3.8 cgroup数组映射
3.3.9 LRU哈希和单CPU的LRU哈希映射
3.3.10 LPM Tire映射
3.3.11 映射数组和映射哈希
3.3.12 设备映射的映射
3.3.13 CPU映射的映射
3.3.14 打开套接字映射
3.3.15 套接字数组和哈希映射
3.3.16 cgroup存储和单CPU的cgroup存储映射
3.3.17 重用端口套接字映射
3.3.18 队列映射
3.3.19 栈映射
3.4 BPF虚拟文件系统
3.5 小结
第4章 BPF跟踪
4.1 探针
4.1.1 内核探针
4.1.2 跟踪点
4.1.3 用户空间探针
4.1.4 用户静态定义跟踪点
4.2 跟踪数据可视化
4.2.1 火焰图
4.2.2 直方图
4.2.3 Perf事件
4.3 小结
第5章 BPF工具
5.1 BPFTool
5.1.1 安装
5.1.2 特征查看
5.1.3 检查BPF程序
5.1.4 检查BPF映射
5.1.5 查看附加到特定接口的程序
5.1.6 批量加载命令
5.1.7 显示BTF信息
5.2 BPFTrace
5.2.1 安装
5.2.2 语言参考
5.2.3 过滤
5.2.4 动态映射
5.3 kubectl-trace
5.3.1 安装
5.3.2 检查kubernetes节点
5.4 eBPF Exporter
5.4.1 安装
5.4.2 导出BPF度量
5.5 小结
第6章 Linux网络和BPF
6.1 BPF和数据包过滤
6.1.1 tcpdump和BPF表达式
6.1.2 原始套接字的数据包过滤
6.2 基于BPF的流量控制分类器
6.2.1 术语
6.2.2 使用cls_bpf的流量控制分类器程序
6.2.3 流量控制和XDP的区别
6.3 小结
第7章 XDP
7.1 XDP程序概述
7.1.1 操作模式
7.1.2 数据包处理器
7.1.3 XDP和iproute2加载器
7.2 XDP和BCC
7.3 测试XDP程序
7.4 XDP用户案例
7.4.1 监控
7.4.2 DDoS攻击缓解
7.4.3 负载均衡
7.4.4 防火墙
7.5 小结
第8章 Linux内核安全、能力和Seccomp
8.1 能力
8.2 Seccomp
8.2.1 Seccomp错误
8.2.2 Seccomp的BPF过滤器示例
8.3 BPF的LSM钩子
8.4 小结
第9章 真实的用户案例
9.1 Sysdig eBPF上帝视角
9.2 Flowmill
Linux内核观测技术BPF是2020年由机械工业出版社出版,作者[美]大卫·卡拉维拉(DavidCalavera)。
得书感谢您对《Linux内核观测技术BPF》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。