万本电子书0元读

万本电子书0元读

顶部广告

Linux内核观测技术BPF电子书

BPF首著,本书帮助系统工程师获得Linux内核中BPF虚拟机的专业知识。 帮你深了解BPF程序的生命周期,熟悉日常工作所需的基本概念,增强有关性能优化、网络和安全方面的知识,学习如何编写观测和修改内核行为的应用程序,以及通过代码注的方式对内核事件行监控、跟踪和安全观测等内容。

售       价:¥

纸质售价:¥59.20购买纸书

85人正在读 | 0人评论 6.4

作       者:(美)大卫·卡拉维拉(David Calavera),(意)洛伦佐·丰塔纳(Lorenzo Fontana)

出  版  社:机械工业出版社

出版时间:2020-07-01

字       数:14.1万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书是一本面向系统工程师的实践指南,皆在帮助他们获得Linux内核中BPF虚拟机的专业知识。通过本书,你不仅可以深了解BPF程序的生命周期,熟悉日常工作所需的基本概念,增强有关性能优化、网络和安全方面的知识。还可以学习如何编写观测和修改内核行为的应用程序,以及通过代码注的方式对内核事件行监控、跟踪和安全观测等内容。同时,本书展示了相关的C、Go和Python代码示例。每次学习BPF技术时,我们都需要翻阅许多博客文章、手册以及Internet上的各种资料。 本书的目的就是将分散在各处的知识汇总在一起,以方便后续BPF爱好者能更好地学习这一技术。<br/>【推荐语】<br/>本书是一本面向系统工程师的实践指南,旨在帮助他们获得Linux内核中BPF虚拟机的专业知识。通过本书,你不仅可以深了解BPF程序的生命周期,还可以学习编写观测和修改内核行为的应用程序,以及通过代码注的方式对内核事件行监控、跟踪和安全观测等内容。 作者David Calavera和Lorenzo Fontana希望帮助读者利用BPF技术提升计算机系统的可观测性。通过本书,你可以熟悉日常工作所需的基本概念,并增强有关性能优化、网络和安全方面的知识。同时,本书展示了相关的C、Go和Python代码示例。 ●根据需求编写使用BPF观测和修改Linux内核行为的应用程序。 ●在无须重新编译内核或重启系统的情况下,安全地注代码对内核事件行监控、跟踪和观测。 ●对C、Go和Python代码示例行探索。 ●全面深地了解BPF程序的生命周期。<br/>【作者】<br/>大卫·卡拉维拉(David Calavera)是Netlify的CTO,曾是Docker的维护者以及Runc、Go和BCC工具及其他源项目的贡献者。他构建和促了Docker插件生态系统,因Docker项目的工作而闻名。David非常喜欢使用火焰图和行性能优化。 洛伦佐·丰塔纳(Lorenzo Fontana)是Sysdig源团队的成员,主要负责CNCF(云本地计算基础)的Falco项目,该项目通过内核模块和eBPF实现了容器运行时安全和异常检测功能。他对分布式系统、软件定义网络、Linux内核和性能分析充满热情。<br/>
目录展开

O’Reilly Media,Inc.介绍

推荐序

译者序 学习的心与勇气的赞歌

序言

前言

本书排版约定

示例代码

O’Reilly在线学习平台(O’Reilly Online Learning)

如何联系我们

致谢

第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映射

使用ELF约定创建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

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部