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 主目录下进行编译
2.4.内核模块安装
cd PF_RING/kernel
make
sudo make install
2.5.运行 PF_RING
cd /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安装及使用指南》: