版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wwlhz/article/details/79066280
CentOS 7安装PF_RING驱动
原有网卡是e1000e, 可以通过lsmod |grep pf_ring 来确认是否已加载pf_ring模块。
事先需要先卸载原有的驱动模块: rmmod e1000e. 这会导致远程SSH断掉,请用终端操作。
首先安装相关依赖项。
然后编译安装驱动模块。
# git clone https://github.com/ntop/PF_RING.git
# cd PF_RING/
# make //直接在跟目录下面make,进行全部编译
# cd PF_RING/kernel
# make
# make install
insmod <PF_RINGPATH>/kernel/pf_ring.ko [transparent_mode=0|1|2]
[min_num_slots=x][enable_tx_capture=1|0][enable_ip_defrag=1|0][quick_mode=1|0]
编译安装PF_RING依赖的库
# cd ../userland/lib
# ./configure
# make
# sodu make install
编译网卡驱动
# cd drivers/PF_RING_aware/intel/e1000e/e1000e-2.0.0.1/src
# make
# make install
# cd lib/modules/<redhat-version>/kernel/drivers/net
# insmod e1000e.ko //安装pf_ring网卡驱动
# modprobe e1000e //只能载入/lib/modules/<kernel ver>/中模块
测试
# cd <PF_RING PATH>/userland/examples
# make
# ./pfcount -i eth0 //捕获eth0网口的数据报文
在插入e1000e模块时,可能会报错:
# insmod e1000e.ko
insmod: ERROR: could not insert module e1000e.ko: Unknown symbol in module.
通过dmesg可以查看到相关的符号找不到。可通过命令确认所依赖的模块:
# modinfo e1000e.ko |grep depend
depends: ptp
插入ptp模块即可:
# modprobe ptp
# insmod e1000e.ko
或者直接用 modprobe e1000e 命令即可。
https://www.cnblogs.com/etangyushan/p/3679662.html