如果你已經安裝pf_ring,你可能需要執行:
rmmod pf_ring
如果你不確定你是否安裝pf_ring,執行:
modinfo pf_ring
進入到kernel文件夾中make和make install
# tar -zxf PF_RING.4.7.0.tar.gz# cd PF_RING.4.7.0/# make //直接在跟目錄下面make,進行全部編譯# cd PF_RING.4.7.0/kernel# make# sudo make install //內核安裝需要root用戶權限
切換到/lib/modules//kernel/net目錄,可以看到有pf_ring目錄,進入pf_ring目錄
執行sudo insmod pf_ring.ko transparent_mode=1 //最好設置一下,官方解釋是2的性能最好,但是有大神測試後發現差別並不是很大
當PF_RING激活時,會創建/proc/net/pf_ring目錄,使用cat命令查看pf_ring的屬性信息:
# cat /proc/net/pf_ring/info
注:為了編譯PF_RING內核模塊,你需要安裝Linux內核的頭文件(或者內核源代碼)。本人測試過2.6.X的內核,是可以編譯過的
進入到用戶空間庫userland/lib下,編譯和安裝。
# cd ../userland/lib# ./configure# make# sodu make install
如果需要使用libpcap抓包分析,請卸載之前安裝的libpcap,然後進入/userland/libpcap-xxx-ring/目錄下配置、編譯和安裝驅動。
卸載原來的libpcap:
# rpm -qa libpcap //查看安裝的libpcap,如果有libpcap則強制卸載# rpm --nodeps -e libpcap //按照原文的報錯,沒有--nodefs選項,使用的是--nodeps,不驗證包依賴性, –e 選項,意思是擦除erase
安裝pf_ring的libpcap:
# cd ../libpcap# ./configure# make# sudo make install
注:為了使用PF_RING的優點,請使用PF_RING使能的libpcap.a重新編譯應用。
進入到drivers目錄下,根據ethtool -i ethx命令查看的網卡類型和驅動進入指定的目錄進行編譯和安裝。
# cd /root/soft/PF_RING/PF_RING-5.6.2/drivers/PF_RING_aware/intel/e1000e/e1000e-2.0.0.1/src# make# sodu make install
安裝網卡驅動,進入到目錄lib/modules//kernel/drivers/net下進行網卡驅動安裝。
# sodu insmod e1000e.ko //安裝pf_ring網卡驅動# sodu modprobe e1000e //只能載入/lib/modules/<kernel ver>/中模塊
進入到userland/examples目錄編譯例子程序。
# cd <PF_RING PATH>/userland/examples# make# ./pfcount -i eth0 //捕獲eth0網口的數據報文
注:使用drivers/intel/ixgbe下的驅動(支持DNA的ixgbe驅動的網卡)+DNA驅動技術可以達到線速采集,PF_RING模塊必須在DNA驅動之前加載。
1.pf_ring.ko模塊加載錯誤 錯誤信息:insmod: error inserting 'pf_ring.ko': -1 Unknown symbol in module 解決方法:沒有卸載當前的網卡驅動,新的加載不了,需要卸載網卡驅動2. 編譯網卡模塊驅動錯誤 驅動所在目錄:/root/soft/PF_RING/PF_RING-5.6.2/drivers/PF_RING_aware/intel/e1000e/e1000e-2.0.0.1/src 錯誤信息:/root/soft/PF_RING/PF_RING-5.6.2/drivers/PF_RING_aware/intel/e1000e/e1000e-2.0.0.1/src/kcompat.h:3039: error: conflicting types for ‘netdev_features_t’解決方法:vim kcompat.h +3039 // 注釋掉第3039行3. 網卡驅動模塊所在目錄:/root/soft/PF_RING/PF_RING-5.6.2/drivers/PF_RING_aware/intel/e1000e/e1000e-2.0.0.1/src加載網卡驅動模塊:insmod e1000e.ko
http://www.bkjia.com/Linuxjc/1156100.html TechArticle