pf
1. 简介
F_RING ™是一种新型的网络套接字,可显着提高数据包捕获速度, 并且具有以下特性: 1. 适用于 Linux 内核 2.6.32 及更高版本。 2. 无需修补内核:只需加载内核模块。 3. 使用商用网络适配器的 10 Gbit 硬件数据包过滤 4. 用户空间 ZC (新一代 DNA , Direct NIC Access ,直接 NIC 访问)驱动程序可实现极高的数据包捕 获 / 传输速度,这是因为 NIC NPU (网络处理单元)在没有任何内核干预的情况下将数据包从用户域推送 / 获取数据包。使用 10Gbit ZC 驱动程序,您可以以线速发送或接收任何大小的数据包。 5. PF_RING ZC 库,用于在线程、应用程序、虚拟机之间以零拷贝分发数据包。 6. 设备驱动程序独立。 7. 支持 Accolade , Exablaze , Endace , Fiberblaze , Inveatech , Mellanox , Myricom / CSPI , Napatech , Netcope 和 Intel ( ZC )网络适配器。 8. 基于内核的数据包捕获和采样。 9.Libpcap 支持(请参见下文)可与现有的基于 pcap 的应用程序无缝集成。 10. 除 BPF 外,还可以指定数百个标题过滤器。 11. 内容检查,以便仅通过与有效负载过滤器匹配的数据包。 12.PF_RING ™插件,用于高级数据包解析和内容过滤。2. 安装以及使用教程
2.1.从 git 安装
git clone .git
2.2.依赖项安装
sudo apt-get install build-essential bison flex
2.3.进入 pf_ring 主目录下进行编译
cd <PF_RING PATH>make
2.4.内核模块安装
cd PF_RING/kernel
make
sudo make install
2.5.运行 PF_RING
cd <PF_RING PATH>/kernel
sudo insmod ./pf_ring.ko [min_num_slots=N] [enable_tx_capture=1|0] [ enable_ip_defrag=1|0]
其中,
min_num_slots 内核模块应能够入队的最小数据包数(默认值 – 4096 )。 enable_tx_capture 设置为 1 以捕获传出数据包,设置为 0 以禁用捕获传出数据包(默认 – RX + TX )。 enable_ip_defrag 设置为 1 以启用 IP 碎片整理,仅对 RX 流量进行碎片整理(默认 – 禁用)2.6.ZC 驱动(如果不使用 ZC 忽略本步骤)
完整安装指南,请下载文档《PF_RING安装及使用指南》: