伯克利数据包过滤器是否移植到 linux?

Der*_*rek 8 linux networking firewall pf

我正在做一些研究,以找出哪些 linux 发行版包含内核数据包过滤并与 BPF 兼容。

http://kernelnewbies.org/Linux_3.0

http://lwn.net/Articles/437981/

这两篇文章让我相信有一个包包含库和二进制文件?

我专门寻找像我在 FreeBSD 中那样的“pfctl”命令

谢谢

Jav*_*ier 14

我认为你混合了两种不同的东西:

  1. OpenBSD的包过滤设施(有时被称为pf,并主要由控制pfctl)。这些是 OpenBSD 防火墙的基础,Linux 等价物是 netfilter,主要由iptables命令控制。具有可比性,但不兼容(大多数人都说 OpenBSD 在这方面优于 Linux)。

  2. (伯克利)分组过滤器(主要是由受控libpcap库)。这是内核的一项功能,允许应用程序收到流经网络接口的数据包的通知。由于通常任何客户端只对所有数据包的一个子集感兴趣,因此该库的大部分内容都是关于过滤哪些数据包应该转发给应用程序,哪些不应该。它用于像tcpdumpWireshark这样的网络分析仪。

您链接的文章不是关于 OpenBSD 的端口pf,而是描述了一个新的 JIT,它优化了libpcap.

  • 防火墙配置实用程序和“任何类型的网络程序”之间存在很大差距。Linux 网络编程接口在大多数方面与 BSD 基本相同,包括 BPF(与 pfctl 无关的那个) (3认同)