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内核设计(第一周)——从汇编语言出发理解计算机工作原理