在ubuntu16.04上利用pf_ring加速libpcap进行抓包,千兆网运行流畅,不丢包

本文记录在Ubuntu 16.04上利用pf_ring提升libpcap抓包速度的过程,包括下载源码、编译内核驱动、安装库和驱动,以及测试抓包效果,确保在千兆网环境下运行流畅不丢包。
摘要由CSDN通过智能技术生成

最近项目需要,需要在千兆网下进行收包,带宽在800Mb左右,传统socket或者rawsocket很容易丢包,因而使用libpcap抓包。经测试,libpcap的接收速度远不如传统socket或者rawsocket,但是好处就是收包比较稳定,并没有丢包现象,据查,linux版本的libpcap是在应用层做的,内部使用的就是rawsocket(不知真假),怪不得时间那么慢。为了提示收取速度,引入pf_ring进行收包加速,过程略有些坑,特此记录。

下载pf_ring源码

源码链接

编译安装pf_ring内核

  • 解压PF_RING-dev.zip;

  • cd PF_RING/kernel

  • make 生成 pf_ring.ko

  • sudo make install

  • insmod pf_ring.ko thansparent_mode=1 注意: thansparent_mode有三种模式, 越高的transparent_mod值,获得报文捕获的速度越快:

     0: 缺省,不需要安装任何驱动, 利用标准的Linux接口接收报文, 任何驱动都能使用该模式.
    
     1: 需要安装驱动.
    
     2: 需要安装驱动, pfring以外程序抓不到数据包
    

安装 pf_ring 库

安装依赖
apt-get instal

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值