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 https://github.com/ntop/PF_RING.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安装及使用指南》