【技术实现步骤摘要】
一种基于linux平台的流量保存方法
本专利技术涉及流量抓取
,特别是涉及一种基于linux平台的流量保存方法。
技术介绍
现有常用抓包技术有libpcap、pfring、dpdk等。libpcap的包捕获机制是在数据链路层增加一个旁路处理,不干扰系统自身的网路协议栈的处理,对发送和接收的数据包通过Linux内核做过滤和缓冲处理,最后直接传递给上层应用程序。PF_RING是LucaDeri专利技术的提高内核处理数据包效率,并兼顾应用程序的补丁,如Libpcap和TCPDUMP等,以及一些辅助性程序(如ntop查看并分析网络流量等)。PF_RING是一种新型的网络socket,它可以极大的改进包捕获的速度。实现了完全的零拷贝,它将用户内存空间映射到驱动的内存空间,使用户的应用可以直接访问网卡的寄存器和数据.通过这样的方式,避免了在内核对数据包缓存,减少了数据包的拷贝次数。类似pfring,IntelDPDK允许用户空间的进程使用DPDK所提供的库直接访问网卡而无需经过内核,相比pfring,dpdk在小包 ...
【技术保护点】
1.一种基于linux平台的流量保存方法,其特征在于,基于linux系统的netfilter框架,通过环形缓存区在内核层和用户层之间进行数据交付。/n
【技术特征摘要】
1.一种基于linux平台的流量保存方法,其特征在于,基于linux系统的netfilter框架,通过环形缓存区在内核层和用户层之间进行数据交付。
2.根据权利要求1所述的基于linux平台的流量保存方法,其特征在于,在linux系统的netfilter框架中,调用nf_register_hook函数,在LOCAL_INhook点上注册流量抓取函数以便在有流量进入时,驱动流量抓取函数抓取流量数据。
3.根据权利要求2所述的基于linux平台的流量保存方法,其特征在于,环形缓存区设置有两个指针:head和tail,head指向下一次读的位置,tail指向的是下一次写的位置;
环形缓存区采用数组进行存储,数组内元素的内存地址是连续的;
通过对head和tail指针的移动,实现数据在数组中的环形存取。
4.根据权利要求3所述的基于linux平台的流量保存方法,其特征在于,
在有流量进入时,驱动流量抓取函数抓取流量数据,并在环形缓存区有空间时,将所抓取的流量数据写入环形缓存区;否则,不写入环形缓存区。
5.根据权利要求4所述...
【专利技术属性】
技术研发人员:吴建亮,胡鹏,魏欣怡,
申请(专利权)人:广州锦行网络科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。