This application provides a data packet capture method and device applied to the terminal equipment, which comprises: receiving a data packet capture method of packet capture instruction, the capture command comprises capture strategy; according to the number of cores N terminal equipment including the central processor, the network card data is distributed to the M core, the M for a positive integer greater than or equal to 1 and less than or equal to N; M were created with the M core associated packet receiving control thread; the M packet receiving thread, respectively by listening to the M in the core data, to meet the packet capture strategy received packet processing. To achieve the use of multi thread data packets received packet processing, increase the ability of data packet capture, improves the efficiency of data packets capture and reduce packet loss problems, provided the conditions for the development of network security system and network monitoring system.
【技术实现步骤摘要】
本申请涉及通信
,尤其涉及一种数据包捕获方法及装置。
技术介绍
数据包捕获技术是关乎网络安全的底层技术,目前,常用的数据包捕获软件如tcpdump,ethereal,snort等,在进行数据包捕获时,都是根据捕获条件,当网卡收到数据包时,触发一次硬件中断,以内存拷贝的方式将数据包拷贝到相应的内核缓冲区,中断处理程序发现拷贝结束后,将数据包挂入网络数据包(sk_buff)队列,中断处理程序开始做计算数据包校验和等操作,并持续收包;当中断处理结束后,将数据包向上层协议栈传递。用户态程序通过系统调用从sk_buff中获取数据包,并拷贝到用户态缓冲区,之后对数据包进行处理。但是,随着网络速度的快速提升,在网络流量比较大时,采用上述数据包捕获方式,会出现大量丢包问题,制约了网络安全系统和网络监控系统的发展。
技术实现思路
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本申请的第一个目的在于提出一种数据包捕获方法,该方法实现了利用多线程对数据包进行收包处理,并行生成多个pcap文件,最终进行合并的方式。增加了数据包捕获能力,提高了数据包的捕获效率,减少了丢包问题的发生,为网络安全系统和网络监控系统的发展提供了条件。本申请的第二个目的在于提出一种数据包捕获装置。为达上述目的,本申请第一方面实施例提出了一种数据包捕获方法,应用于终端设备,包括以下步骤:接收数据包捕获指令,所述捕获指令中包括捕获策略;根据终端设备中央处理器包括的核心数量N,将网卡数据分发到M个核心,其中,M为大于或等于1、且小于或等于N的正整数;创建M个分别与所述M个核心关联的收包线程; ...
【技术保护点】
一种数据包捕获方法,应用于终端设备,其特征在于,包括以下步骤:接收数据包捕获指令,所述捕获指令中包括捕获策略;根据终端设备中央处理器包括的核心数量N,将网卡数据分发到M个核心,其中,M为大于或等于1、且小于或等于N的正整数;创建M个分别与所述M个核心关联的收包线程;控制所述M个收包线程,分别对所述M个核心中的数据进行监听,以对满足所述捕获策略的数据包进行收包处理。
【技术特征摘要】
1.一种数据包捕获方法,应用于终端设备,其特征在于,包括以下步骤:接收数据包捕获指令,所述捕获指令中包括捕获策略;根据终端设备中央处理器包括的核心数量N,将网卡数据分发到M个核心,其中,M为大于或等于1、且小于或等于N的正整数;创建M个分别与所述M个核心关联的收包线程;控制所述M个收包线程,分别对所述M个核心中的数据进行监听,以对满足所述捕获策略的数据包进行收包处理。2.如权利要求1所述的方法,其特征在于,所述根据终端设备中中央处理器包括的核心数量N,将网卡数据分发到M个核心,包括:配置网卡接收端缩放RSS参数,以将所述网卡数据分发到M个核心。3.如权利要求1所述的方法,其特征在于,所述控制所述M个收包线程,同时对所述M个核心中的数据进行监听,包括:控制所述M个收包线程,以用户空间输入输出UIO机制分别对所述M个核心中的数据进行监听。4.如权利要求1所述的方法,其特征在于,所述创建M个并行执行的收包线程之后,还包括:在随机存取存储器中创建一个虚拟文件系统,并在所述虚拟文件系统中创建M个随机存储文件;分别将所述M个随机存储文件映射到所述M个收包线程的空间。5.如权利要求1-4任一所述的方法,其特征在于,所述控制所述M个收包线程,分别对所述M个核心中的数据进行监听,以对满足所述捕获策略的数据包进行收包处理,包括:控制所述M个收包线程,分别对满足所述捕获策略的数据包进行收包处理,生成M个抓包文件;在确定对与所述捕获策略...
【专利技术属性】
技术研发人员:刘芳宁,
申请(专利权)人:东软集团股份有限公司,
类型:发明
国别省市:辽宁;21
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。