好书推荐 | 想学eBPF?这本书你一定要读一读

背景介绍

BPF(BSD Packet Filter)是很早就有的内核特性,最早可以追溯到1992年发表在USENIX Conference上的一篇论文。后来由于BPF的理念逐渐成为主流,为各大操作系统所接受,这样早期“B”所代表的BSD便渐渐淡去,最终演化成了今天我们眼中的BPF(Berkeley Packet Filter)。BPF在主机的包处理上有着重要的应用,比如我们熟知的tcpdump,其底层就是依赖BPF实现的包过滤。
得益于BPF在包过滤上的良好表现,2013年,Alexei Starovoitov对BPF进行彻底的改造,并增加了新的功能,改善了它的性能,这个新版本被命名为eBPF(extended BPF),新版本的BPF全面兼容并扩充了原有的BPF功能。因此,将传统的BPF重命名为cBPF(classical BPF),相对应的,新版本的BPF则命名为eBPF或直接称为BPF。Kernel 3.15版本开始实现对eBPF的支持。
今天要推荐的这本书,是2019年11月由O'Reilly出版发行的,本书系统全面的对eBPF进行了分析和讲解。由于eBPF相对来讲还比较新,这本书是第一本全面对其进行介绍的书籍,对于eBPF的入门学习有着很大的帮助。
全书一共分为9个章节,绿盟君大概把这9个章节分为四部分:
第一部分,即ch1-ch3,主要介绍了eBPF的基本原理、基本的数据结构以及一些Hello World程序,让读者知道eBPF是什么,对它有一个初步的认识;
第二部分,即ch4-ch5,这一部分主要介绍了eBPF在Tracing方面所能实现的功能,以及如何去做相应的Tracing工作,同时介绍了目前存在的一些简单实用的eBPF Tracing工具;
第三部分,即ch6-ch7,重点讲解了eBPF在网络上的应用,结合XDP,介绍如何实现对主机上的网络包进行高效的过滤和处理;
第四部分,介绍了BPF在当前的Linux内核中的一些应用,以及在企业中实际的一些应用场景;

全书共用150页左右,就全面的回答了eBPF是什么、能干什么、怎么用、谁在用这些问题,可以说每一字每一句都是干货。
除此之外,本书还有一个很大的亮点:在每部分的介绍中,都穿插了具体的、可运行的代码示例对这些基本功能进行验证展示,加深了读者的认识和理解。而且书中所有的示例代码,均可以在github中进行下载运行。
唯一美中不足的是,对于eBPF在性能(Performance)分析上的应用,全书只是在Tracing部分做了简单的介绍,并未进行深入的展开分析。这可能与作者的技术背景和公司背景有关,当然,这并不影响绿盟君对本书的喜爱。
对Linux内核开发、Linux应用程序性能分析与优化、Linux安全、云原生安全等领域感兴趣的开发者,读完此书一定会让你收益匪浅。
图书链接:
https://www.oreilly.com/library/view/linux-observability-with/9781492050193/
github下载地址:
https://github.com/bpftools/linux-observability-with-bpf

![]() | 请点击屏幕右上方“…” NSFOCUS-weixin |
↑↑↑长按二维码,下载绿盟云APP
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
- 1 从“水之道”感悟“国之交” 7904400
- 2 日方挑衅中国收割民意非常危险 7808530
- 3 泰国总理:做好一切准备维护国家主权 7712973
- 4 全国冰雪季玩法大盘点 7617062
- 5 日本记者街头采访找不到中国游客 7523737
- 6 周星驰《鹿鼎记》重映首日票房仅18万 7428232
- 7 净网:网民造谣汽车造成8杀被查处 7331329
- 8 原国务委员王丙乾逝世 7237465
- 9 患胃癌丈夫用两米铁棍追打妻子 7141185
- 10 流感自救抓住“黄金48小时” 7041985











![左边路solo 这套美死了[泪奔]回广州要再拍一次](https://imgs.knowsafe.com:8087/img/aideep/2025/9/19/67075787a8eefe91e0b9a98396d83ff5.jpg?w=250)
绿盟科技
