Linux内核观测技术BPF

Linux内核观测技术BPF

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

深入理解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》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
C#面向对象程序设计(微课版) 电子书
本书全面介绍和讲解了C#语言的全部基础语法,信息量大、知识性强、条理清晰,编程实例丰富。
新编SolidWorks2015从入门到精通 电子书
以零基础讲解为宗旨,用实例引导读者学习,深入浅出地介绍了SolidWorks 2015的相关知识和应用方法。
新印象OctanceforCinema4D渲染技术核心教程 电子书
一本提高Cinema 4D三维渲染技术的教程,主要针对有一定Cinema 4D基础的读者编写。
透视C#核心技术:系统架构及移动端开发 电子书
本书采用循序渐进的方式讲解C#及其在电商、ERP及手机APP方面的开发技术。
Python图像处理实战 电子书
本书先介绍经典的图像处理技术,然后探索图像处理算法的演变历程,始终紧扣图像处理以及计算机视觉与深度学习方面的最新进展。全书共12章,涵盖图像处理入门基础知识、应用导数方法实现图像增强、形态学图像处理、图像特征提取与描述符、图像分割,以及图像处理中的经典机器学习方法等内容。