Home  >  Article  >  Database  >  libpcap丢包原理分析及Fedora 9 内核2.6.25.14下安装PF

libpcap丢包原理分析及Fedora 9 内核2.6.25.14下安装PF

WBOY
WBOYOriginal
2016-06-07 15:43:061862browse

Linux 的 libpcap 详细流程为:网卡硬中断 - 软中断 - 内核协议栈 - 系统调用 -socket 接口 -libpcap 接口 - 用户应用程序,在这个流程中,可以看出数据的 copy 比较多。所以 libpcap 抓包丢包严重也不用感到奇怪了,为了减少丢包率,采用 libpcap-pfring 方

Linux libpcap 详细流程为:网卡硬中断 -> 软中断 -> 内核协议栈 -> 系统调用 ->socket 接口 ->libpcap 接口 -> 用户应用程序,在这个流程中,可以看出数据的 copy 比较多。所以 libpcap 抓包丢包严重也不用感到奇怪了,为了减少丢包率,采用 libpcap-pfring 方法。

下面讲解 fedora 9 下如何安装 PF-RING ,安装过程如下:

1)cd /home 然后再这里建立一个目录 mkdir rfring-libpcap

2)cd rfring-libpcap

3)svn co https://svn.ntop.org/svn/ntop/trunk/PF_RING/  下载 PF-RING

4)PF-RING 下载完后, cd /PF-RING/legacy 下, vi mkpatch.sh 修改内核版本号 ={SUBLEVEL -25.14}

5)./mkpatch.sh 下载内核到 workspace 中,生成目录 linux-2.6.25-14-686-smp-PF_RING 和补丁文件 linux-2.6.25-14-686-smp-PF_RING.patch.gz

6) 按下面操作

mv linux-2.6.25-14-686-smp-PF_RING/ linux-2.6.25-14-686-smp-PF_RING.bak/
zcat linux-2.6.25-14-686-smp-PF_RING.patch.gz | patch -p0   

7 cd linux-2.6.25 编译内核

 #vi Makefile 在这个地方加上一个自定义的后缀:  EXTRAVERSION = -PF_RING ,这会显示在界面启动的时候看到

8 make oldconfig 主要目的是选择 RF_RING

9) make menuconfig 检查 Networking->Networking options —>PF_RING sockets EXPERIMENTAL

10) 然后就开始编译内核了,按我以前写的一篇博客操作 make

11 make modules

12 make modules_install

13)   make install

14) cd /root/grub

15) vim menu.lst  删除 menuhidden

16) cd ../..   

cp kernel/include/linux/ring.h /usr/include/linux/

17) 编译源码和 libpcap

cd userland

make

 

cd lib/

make install

 

cd ../libpcap-1.1.1-ring/

make install

 

18) reboot 重启系统

 

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn