一种处理制造技术

技术编号:39506637 阅读:6 留言:0更新日期:2023-11-25 18:41
本发明专利技术提供了一种处理

【技术实现步骤摘要】
一种处理DNS数据包的方法及装置


[0001]本专利技术涉及流量处理
,具体而言,涉及一种处理
DNS
数据包的方法及装置


技术介绍

[0002]DNS(Domain Name Server
,域名服务器
)
是一种可以将域名和
IP
地址相互映射的以层次结构分布的数据库系统
。DNS
系统采用递归查询请求的方式来响应用户的查询,为互联网的运行提供关键性的基础服务

目前绝大多数的防火墙和网络都会开放
DNS
服务,
DNS
数据包不会被拦截,因此可以基于
DNS
协议建立隐蔽信道,从而顺利穿过防火墙,在客户端和服务器之间传输数据

[0003]DNS
协议解析是通过捕获数据包通过对以主流的
UDP(User Datagram Protocol
,用户数据包协议
)
来进行分析

数据链路层组装的以太网帧首部和尾部,可以忽略不处理,主要是通过
IP
首部和
UDP
首部来筛选出其中的
DNS
协议数据包,通过对
DNS
协议数据包的标识

标志

问题数

资源记录数

授权资源记录数

额外资源记录数

查询问题/>、
回答

授权

额外信息等字段进行判断或解析

[0004]对
DNS
数据包进行分析的前提是获取到该数据包

在高速网络环境下,需要在及其短的时间内捕获和处理大规模的数据,而当前采集
DNS
数据包存在丢包率高

吞吐量低等一系列问题,不适用于高速网络环境

目前针对
DNS
协议的分析技术,通常是通过离线捕获数据包,再通过人工或者其他形式更新到相关系统中进行分析,这样做的弊端是获取的
DNS
数据包失去了时效性,数据的有效性无法得到保证

实现高速

完整

有效的数据包捕获,是进行网络数据分析的重要前提


技术实现思路

[0005]为解决难以对高速
DNS
数据包进行分析处理的问题,本专利技术实施例的目的在于提供一种处理
DNS
数据包的方法及装置

[0006]第一方面,本专利技术实施例提供了一种处理
DNS
数据包的方法,包括:
[0007]在用户空间设置有效内存空间,并将网络硬件的内存空间地址映射至所述有效内存空间;
[0008]将所述网络硬件采集的
DNS
数据包传递至所述有效内存空间;
[0009]从所述有效内存空间读取所述
DNS
数据包,并对所述
DNS
数据包进行分析处理

[0010]可选地,该方法还包括:
[0011]预先建立所述网络硬件与处理器内核之间的对应关系,所述处理器内核能够从所述有效内存空间读取所述
DNS
数据包

[0012]可选地,所述有效内存空间包括由多个依次排列的内存块组成的内存队列,且所述内存队列中末位的内存块指向首位的内存块;所述内存队列用于存储所述
DNS
数据包

[0013]可选地,所述将所述网络硬件采集的
DNS
数据包传递至所述有效内存空间,包括:
[0014]设置存储开始索引和存储结束索引,所述存储开始索引和存储结束索引均与当前存有数据的最后一个内存块位置对应;
[0015]在获取到所述网络硬件采集的
DNS
数据包的情况下,确定存储所述
DNS
数据包所需内存块的数量
n
,将所述存储开始索引增加
n
,生成新的存储开始索引;以及
[0016]将所述
DNS
数据包存储到所述内存队列中从所述存储结束索引开始的
n
个所述内存块中,之后将所述存储结束索引增加
n
,生成新的存储结束索引

[0017]可选地,所述从所述有效内存空间读取所述
DNS
数据包,包括:
[0018]设置读取开始索引和读取结束索引,所述读取开始索引和读取结束索引均与当前存有数据的第一个内存块位置对应;
[0019]在需要读取
m
个内存块中所存储的
DNS
数据包的情况下,将所述读取开始索引增加
m
,生成新的读取开始索引;以及
[0020]读取所述
m
个内存块中所存储的
DNS
数据包,之后将所述读取结束索引增加
m
,生成新的读取结束索引

[0021]可选地,所述新的存储开始索引不超过当前的读取结束索引;和
/

[0022]所述新的读取开始索引不超过当前的存储结束索引

[0023]可选地,所述网络硬件采集的
DNS
数据包为从分出来的镜像流量中提取出的数据包

[0024]可选地,所述对所述
DNS
数据包进行分析处理,包括:
[0025]提取所述
DNS
数据包中的请求包和响应包,确定所述请求包中所请求的域名,以及所述响应包中的第一响应
IP

[0026]将所述域名向权威
DNS
服务器进行请求,获取所述权威
DNS
服务器返回的第二响应
IP

[0027]将所述第一响应
IP
与所述第二响应
IP
做交集运算,确定匹配率,基于所述匹配率进行分析

[0028]第二方面,本专利技术实施例还提供了一种处理
DNS
数据包的装置,包括:
[0029]预设模块,用于在用户空间设置有效内存空间,并将网络硬件的内存空间地址映射至所述有效内存空间;
[0030]传递模块,用于将所述网络硬件采集的
DNS
数据包传递至所述有效内存空间;
[0031]处理模块,用于从所述有效内存空间读取所述
DNS
数据包,并对所述
DNS
数据包进行分析处理

[0032]可选地,所述预设模块还用于:
[0033]预先建立所述网络硬件与处理器内核之间的对应关系,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种处理
DNS
数据包的方法,其特征在于,包括:在用户空间设置有效内存空间,并将网络硬件的内存空间地址映射至所述有效内存空间;将所述网络硬件采集的
DNS
数据包传递至所述有效内存空间;从所述有效内存空间读取所述
DNS
数据包,并对所述
DNS
数据包进行分析处理
。2.
根据权利要求1所述的方法,其特征在于,还包括:预先建立所述网络硬件与处理器内核之间的对应关系,所述处理器内核能够从所述有效内存空间读取所述
DNS
数据包
。3.
根据权利要求1所述的方法,其特征在于,所述有效内存空间包括由多个依次排列的内存块组成的内存队列,且所述内存队列中末位的内存块指向首位的内存块;所述内存队列用于存储所述
DNS
数据包
。4.
根据权利要求3所述的方法,其特征在于,所述将所述网络硬件采集的
DNS
数据包传递至所述有效内存空间,包括:设置存储开始索引和存储结束索引,所述存储开始索引和存储结束索引均与当前存有数据的最后一个内存块位置对应;在获取到所述网络硬件采集的
DNS
数据包的情况下,确定存储所述
DNS
数据包所需内存块的数量
n
,将所述存储开始索引增加
n
,生成新的存储开始索引;以及将所述
DNS
数据包存储到所述内存队列中从所述存储结束索引开始的
n
个所述内存块中,之后将所述存储结束索引增加
n
,生成新的存储结束索引
。5.
根据权利要求4所述的方法,其特征在于,所述从所述有效内存空间读取所述
DNS
数据包,包括:设置读取开始索引和读取结束索引,所述读取开始索引和读取结束索引均与当前存有数据的第一个内存块位置对应;在需要读取
m
个内存块中所存储的
DNS
数据包的情况下,将所述读取...

【专利技术属性】
技术研发人员:龙春付豫豪黄潘万巍王跃达杨帆
申请(专利权)人:中国科学院计算机网络信息中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1