Linux ubuntu PF_RING+libpcap 极速捕获千兆网数据包,不丢包
2013-02-25 13:56
375 查看
http://blog.chinaunix.net/uid-23225855-id-3228867.html
上一篇文章讲到了libpcap
捕获数据包,尤其在千兆网的条件下,大量的丢包,网上搜索好久,大概都是PF_PACKET +MMAP,NAPI,PF_RING之类的方法,我对PF_RING+libpcap进行实验,发现千兆网条件下,捕获数据包的性能很好,几乎不丢包,Linux Fedora 14(本人实验的环境为:ubuntu11.04)实验环境搭配流程如下:
1)下载PF_RING:svn co https://svn.ntop.org/svn/ntop/trunk/PF_RING/
2)下载完后,在PF_RING/kernel下面make编译pf_ring,生成pf_ring.ko
3)insmod pf_ring.ko thansparent_mode =1
4)cd 进入lib目录下,修改MakeFile,将安装目录指向usr/,如果不修改,就会指向/usr/local
5)在lib目录下,make,然后make install
6)cd 进入libpcap-1.1.1-ring目录下,修改源码,将pf_ring的内核ring缓冲区设为2M,默认0.5M,然后修改MakeFile,将安装目录指向usr/,默认指向usr/local。接着编译make,然后make install;
7)这样,就将libpfring.so ,pfring_e1000e_dna.h,pfring.h,libpfring.a拷贝到了usr/include或usr/lib下,同时用libpcap-1.1.1-ring的库文件替换了原来的libpcap库文件;
8)环境搭建完了,应用记得在应用程序的头文件中加入#define HAVE_PF_RING ;
9)大功告成,你会发现性能有极大的提高,提高了60%以上。但是cpu占用率也会相应的提高,cpu占用率采用在终端采用top查看。
上一篇文章讲到了libpcap
捕获数据包,尤其在千兆网的条件下,大量的丢包,网上搜索好久,大概都是PF_PACKET +MMAP,NAPI,PF_RING之类的方法,我对PF_RING+libpcap进行实验,发现千兆网条件下,捕获数据包的性能很好,几乎不丢包,Linux Fedora 14(本人实验的环境为:ubuntu11.04)实验环境搭配流程如下:
1)下载PF_RING:svn co https://svn.ntop.org/svn/ntop/trunk/PF_RING/
2)下载完后,在PF_RING/kernel下面make编译pf_ring,生成pf_ring.ko
3)insmod pf_ring.ko thansparent_mode =1
4)cd 进入lib目录下,修改MakeFile,将安装目录指向usr/,如果不修改,就会指向/usr/local
5)在lib目录下,make,然后make install
6)cd 进入libpcap-1.1.1-ring目录下,修改源码,将pf_ring的内核ring缓冲区设为2M,默认0.5M,然后修改MakeFile,将安装目录指向usr/,默认指向usr/local。接着编译make,然后make install;
7)这样,就将libpfring.so ,pfring_e1000e_dna.h,pfring.h,libpfring.a拷贝到了usr/include或usr/lib下,同时用libpcap-1.1.1-ring的库文件替换了原来的libpcap库文件;
8)环境搭建完了,应用记得在应用程序的头文件中加入#define HAVE_PF_RING ;
9)大功告成,你会发现性能有极大的提高,提高了60%以上。但是cpu占用率也会相应的提高,cpu占用率采用在终端采用top查看。
相关文章推荐
- Linux ubuntu PF_RING+libpcap 极速捕获千兆网数据包,不丢包
- linux fedora 14(内核2.6.35.6) PF_RING+libpcap 极速捕获千兆网数据包,不丢包
- linux fedora 14(内核2.6.35.6) PF_RING+libpcap 极速捕获千兆网数据包,不丢包
- libpcap+PF_RING源码分析---前言(一)
- tcpdump/libpcap中捕获数据包的时间戳
- libpcap+PF_RING源码分析---前言(一)
- libpcap+PF_RING源码分析一、二
- jNetPcap-用Java实现libpcap完整封装的网络数据包捕获函数库
- 【Linux/Ubuntu学习 7】E: 无法获得锁 /var/lib/dpkg/lock – open (11: 资源暂时不可用) E: 无法锁定管理目录
- libpcap1.7.4在Ubuntu_14.04_LTS上的使用
- Jnetpcap 官方案例(3)- 从离线文件捕获数据包
- How to install libpcap for Linux?
- 网络数据捕获之PF_RING
- PF_RING Libzero中使用HugePage
- linux简单的数据包捕获分析
- kinect (oldest one) (libfreenect with py_kinect) on linux ubuntu14.04 x64
- pcap_捕获以太网数据包的例子(一)
- 【Linux/Ubuntu学习 7】E: 无法获得锁 /var/lib/dpkg/lock – open (11: 资源暂时不可用) E: 无法锁定管理目录
- libpcap丢包原理分析及Fedora 9 内核2.6.25.14下安装PF-RING的详细过