基于DNS协议标准检测DNS隧道数据的方法.pdf

上传人:a3 文档编号:1587029 上传时间:2018-06-26 格式:PDF 页数:6 大小:432.81KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310755997.7

申请日:

2013.12.31

公开号:

CN104754071A

公开日:

2015.07.01

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04L 29/12申请日:20131231|||公开

IPC分类号:

H04L29/12; H04L29/06

主分类号:

H04L29/12

申请人:

金琥

发明人:

金琥

地址:

323000浙江省丽水市莲都区灯塔街242号204

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明属计算机网络技术领域,是一种区分标准DNS协议数据和DNS隧道数据的方法。系统捕获DNS端口的数据包。当数据包到达检测系统时:1、系统检查数据包内容长度,如果大于512字节则认为是DNS隧道数据。2、系统检查数据包内容并判断其是否符合标准DNS协议(例如:客户端发送DNS Query,服务端回应DNS Response)。如果符合则认为是DNS协议数据,否则认为是DNS隧道数据。使用本发明可以识别DNS隧道数据并对其实行差别服务,或阻止非DNS协议数据穿透DNS端口。

权利要求书

权利要求书1.  一种区分标准DNS协议数据和DNS隧道数据的方法。其包含以下步骤: (1):系统捕获指定端口数据包; (2):检查数据包的内容长度并判断其是否超过指定长度,如果超过则认为是DNS隧道数据; (3):检查数据包内容并判断其是否符合标准DNS协议。如果符合则认为是DNS协议数据,否则认为是DNS隧道数据。 2.  根据权利要求1的方法,所述步骤(2)判断数据包是否为DNS协议数据包。其特征在于:检查数据包的内容长度是否超过512字节。 3.  根据权利要求1的方法,所述步骤(3)判断数据包是否为DNS协议数据包。其特征在于:检查客户端发给服务端的数据包内容是否符合RFC1035描述的DNS Query数据包格式。 4.  根据权利要求1的方法,所述步骤(3)判断数据包是否为DNS协议数据包。其特征在于:检查服务端发给客户端的数据包内容是否符合RFC1035描述的DNS Response数据包格式。 

说明书

说明书基于DNS协议标准检测DNS隧道数据的方法
技术领域
本发明属计算机网络技术领域,是一种区分标准DNS协议数据和DNS隧道数据的方法。
背景技术
随着互联网技术的发展,如何控制内网用户访问互联网已经成了网络管理的重点。传统的网络管理以端口来区分各种网络服务,通过开放或关闭某些端口来实现外网访问的控制。DNS域名解析作为最基础的互联网服务,通常需要开放给用户使用。它所使用的是DNS协议,默认端口为UDP53。鉴于DNS端口一般是开放的,许多软件纷纷使用了DNS隧道技术与外部建立连接。DNS协议数据和DNS隧道数据都使用相同的端口,因此不能简单的通过关闭端口来控制DNS隧道数据,否则用户将无法解析域名。传统的端口控制方法已经无法应对DNS隧道穿透技术,未经授权的外网访问严重威胁着内部网络的安全。
发明内容
本发明的目的在于提出一种区分标准DNS协议数据和DNS隧道数据的方法,使用本发明可以识别DNS隧道数据并对其实行差别服务,或阻止非DNS协议数据穿透DNS端口。
DNS隧道数据检测原理:
标准的DNS协议遵从RFC1035(Domain names-implementation and specification)标准。
根据RFC文档的描述:
1、DNS数据包所携带的内容大小(不包含IP头和UDP头)不得超过512字节。
2、DNS数据包必须包含头部信息,并在头部信息中表明该数据包是DNS Query还是DNS Response。
3、DNS客户端向服务端发送DNS Query域名查询请求,DNS服务端收到客户端查询请求后,将返回相同ID的DNS Response响应信息。
DNS隧道数据则采用私有协议,其不遵从DNS协议标准。为了携带更多数据信息,数据包的内容大小通常会超过512字节。客户端发给服务端的数据包内容不符合DNS Query域名查询请求格式;服务端返回给客户端的数据包内容也不符合DNS Response响应信息格式。
根据这些差别,我们可以区分通过DNS端口的数据包是DNS协议数据包还是DNS隧道数据包。
附图说明
图1为本发明系统网络部署方式图
图2为DNS数据包头部信息格式
图3为本发明系统对客户端数据包检测流程图
图4为本发明系统对服务端数据包检测流程图
具体实施方式
下面结合附图对本发明做进一步的详细介绍。
系统网络部署方式:
参见图1,本发明系统通常部署在局域网连接互联网的出口网关处,从网络中捕获指定端口的数据包。该端口一般为UDP53,必要时也可以指定或者增加其他端口。
数据包检测方法:
检测的标准在于判断通过该端口的数据包是否符合DNS协议,只要不符合RFC1035文档描述的数据包即可判定为DNS隧道数据包,否则为DNS协议数据包。
RFC1035规定DNS数据包内容长度不得超过512字节。如果数据包内容长度大于512字节,则该数据包可判定为DNS隧道数据包。
参见图2,RFC1035规定DNS数据包必须包含12个字节的头部信息。头部信息前两个字节(共16位)为ID号,客户端发出的DNS查询包和服务端返回的DNS响应包必须具有相同的ID。头部信息第17位是QR标志位,QR标志位为0表示该数据包为DNS Query数据包,QR标志位为1表示该数据包为DNS Response数据包。头部信息第26-28位是保留位(Z标志位),DNS数据包的Z标志位必须为0。
这里选择以一种高效的检测方式为例:通过检测数据包内容长度、QR标志位和Z标志位,来判断是否为DNS协议数据包。但并不意味着本发明只能以此作为唯一检测方法。
1、客户端数据检测
参见图3,系统捕获到客户端发给服务端的数据包,首先计算不含IP头和UDP头的数据包内容长度。如果数据包内容长度大于512字节,则判定该数据包为DNS隧道数据包。然后提取数据包内容第17位(QR标志位)。如果QR标志位不为0,则判定该数据包为DNS隧道数据包。接着提取数据包内容第26-28位(Z标志位)。如果Z标志位不为0,则判定该数据包为DNS隧道数据包,否则为DNS协议数据包。
2、服务端数据检测
参见图4,系统捕获到服务端发给客户端的数据包,首先计算不含IP头和UDP头的数据包内容长度。如果数据包内容长度大于512字节,则判定该数据包为DNS隧道数据包。然后提取数据包内容第17位(QR标志位)。如果QR标志位不为1,则判定该数据包为DNS隧道数据包。接着提取数据包内容第26-28位(Z标志位)。如果Z标志位不为0,则判定该数据包为DNS隧道数据包,否则为DNS协议数据包。
客户端和服务端的数据通信是双向的。因此可选择只检测客户端数据,也可选择只检测服务端数据,还可以选择同时检测客户端数据和服务端数据。
该检测方法的优点在于其简单高效。使用该方法过滤DNS端口数据,可以保证所有DNS协议数据包正常通过,同时拦截大部分非DNS协议数据包,使之无法形成DNS隧道。要完整识别DNS协议数据包还是DNS隧道数据包,适当增加ID验证、其他标志位验证和查询响应内容格式验证即可。
以上实施例仅用于说明本发明而非限制。本领域的普通技术人员应当理解,对本发明修改变形或者等同替换,而不脱离本发明精神范围的,其均应涵盖在本发明的权利要求当中。

基于DNS协议标准检测DNS隧道数据的方法.pdf_第1页
第1页 / 共6页
基于DNS协议标准检测DNS隧道数据的方法.pdf_第2页
第2页 / 共6页
基于DNS协议标准检测DNS隧道数据的方法.pdf_第3页
第3页 / 共6页
点击查看更多>>
资源描述

《基于DNS协议标准检测DNS隧道数据的方法.pdf》由会员分享,可在线阅读,更多相关《基于DNS协议标准检测DNS隧道数据的方法.pdf(6页珍藏版)》请在专利查询网上搜索。

本发明属计算机网络技术领域,是一种区分标准DNS协议数据和DNS隧道数据的方法。系统捕获DNS端口的数据包。当数据包到达检测系统时:1、系统检查数据包内容长度,如果大于512字节则认为是DNS隧道数据。2、系统检查数据包内容并判断其是否符合标准DNS协议(例如:客户端发送DNS Query,服务端回应DNS Response)。如果符合则认为是DNS协议数据,否则认为是DNS隧道数据。使用本发明可。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1