Ubuntu16.04和18.04安装pfring

官方wiki: http://www.ntop.org/guides/pf_ring/index.html
其他:
高速的网络抓包库PF_ring介绍及编译安装
Ubuntu 16.04 LTS 安装pfring
PF_RING 总结
https://blog.csdn.net/ygm_linux/article/category/6802624

下载pfring源码包

下载地址:https://github.com/ntop/PF_RING

版本选择:7.4.0

编译7.0.0版本时ubuntu会报错,我没有花时间解决,7.4.0都不会报错

源码目录结构

主要的目录结构如下:

PF_RING-7.4.0/ 
    drivers/
    kernel/
    userland/
    Makefile
    ...

编译

在主目录下直接make,缺什么安装什么。

中间会有一些警告,可以忽略。

安装

make完成后,分别进入kerneluserland/libuserland/libpcap1.7.4drivers/intel/e1000e/e1000e-3.2.7.1-zc/src中分别执行sudo make install

激活PF_RING使其加载到内核工作

cd /lib/modules/`uname -r`/kernel/net/pf_ring
# sudo insmod ./pf_ring.ko [min_num_slots = N] [enable_tx_capture = 1 | 0] [enable_ip_defrag = 1 | 0]
# min_num_slots:		ring slots最小值;默认4096
# enable_tx_capture:	为1抓取从网口出去的包,否则不抓;默认tx,rx都抓取
# enable_ip_defrag:		是否对rx ip分片进行重组
# quick_mode:			为1时工作在全速模式,但是每个接口只能有一个socket
sudo insmod pf_ring.ko min_num_slots=8192 quick_mode=1
# sudo insmod pf_ring.ko transparent_mode=1 (若已经激活,可以使用sudo rmmod prf_ring卸载)

激活驱动

完成上一步PF_RING已经在原有网络驱动上工作了,抓包效率已经有了很大的提升,但是PF_RING也可以工作在专有驱动上,抓包性能更强,但是这和硬件有关,并不是所有的硬件都支持,详情参考官方wiki。

ethtool -i ethx 	#以e1000e网卡为例
sudo rmmod e1000e -----先卸载
cd /lib/modules/`uname -r`/kernel/drivers/net/ethernet/intel/e1000e
sudo insmod e1000e.ko -----再安装

8、至此PF_RING安装完毕 当PF_RING激活,会创建一个新的入口/proc/net/pf_ring。

cat /proc/net/pf_ring/info

你可能感兴趣的:(linux,ubuntu,软件移植,安装,使用)