Linux内核BPF的简单工作原理

Posted utokyo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux内核BPF的简单工作原理相关的知识,希望对你有一定的参考价值。

BPF用于很多的抓包程序,在linux中,一般内核自动编译进了af_packet这个驱动,因此只需要在用户态配置一个PACKET的socket,然后将filter配置进内核即可,使用setsockopt的SO_ATTACH_FILTER 命令,这个filter是在用户空间配制的,比如tcpdump应用程序,tcpdump和内核BPF过滤器的关系类似iptables与netfilter的关系,只是Netfilter实现了match/target的复合配合,而BPF的target则只是选择是否要与不要

以上是关于Linux内核BPF的简单工作原理的主要内容,如果未能解决你的问题,请参考以下文章

Linux内核设计(第二周)——操作系统工作原理

Linux内核设计(第一周)——从汇编语言出发理解计算机工作原理

Nginx工作原理和优化漏洞

Linux Shell性质和工作原理

Linux内核设计第一周 ——从汇编语言出发理解计算机工作原理

linux设备驱动之platform平台总线工作原理