CN115378884A - Dns报文处理方法、装置、处理设备及存储介质 - Google Patents
Dns报文处理方法、装置、处理设备及存储介质 Download PDFInfo
- Publication number
- CN115378884A CN115378884A CN202210462790.XA CN202210462790A CN115378884A CN 115378884 A CN115378884 A CN 115378884A CN 202210462790 A CN202210462790 A CN 202210462790A CN 115378884 A CN115378884 A CN 115378884A
- Authority
- CN
- China
- Prior art keywords
- dns
- message
- dns message
- equipment
- analysis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/31—Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及一种DNS报文处理方法、装置、处理设备及存储介质,包括:根据第一设备对DNS报文的解析结果,获取所述DNS报文中头部字段的第一标记信息;根据所述第一标记信息,接收由所述第一设备发送的DNS报文对应的应答报文;第二设备识别所述应答报文中头部字段的第二标记信息;针对所述应答报文,将所述第二标记信息更新为初始状态值,得到目标报文;将所述目标报文发送至第三设备。通过追踪第一标记信息和第二标记信息,完成查看DNS报文的解析来源。由此,可以实现追踪DNS报文的解析来源的效果。
Description
技术领域
本发明实施例涉及DNS报文追踪和识别领域,尤其涉及一种DNS报文处理方法、装置、处理设备及存储介质。
背景技术
在当前的域名系统(Domain Name System,DNS)报文解析技术领域,客户端对DNS报文的查询访问操作直接影响权威DNS服务器的处理效率。在面对访问数量的不断增加,对服务器的处理速度和应答效果要求越来越高。目前为了缓解权威DNS服务器的运行压力或是在权威DNS服务器异常时能够不间断提供解析服务,增加分流系统辅助域名解析。
但是,分流系统返回的应答包和权威DNS服务器返回的应答包完全一致,递归DNS服务器无法获知应答包是来自于真实的权威DNS服务器还是分流系统,后续无法继续根据报文深入追踪分析。可以通过DNS报文尾部构造特殊字段来进行识别,但是该方法对于会对DNS报文格式进行检查的设备,会把非标准格式的DNS报文直接丢弃,从而导致网络丢包、数据丢失。
发明内容
鉴于此,为解决上述报文追踪来源的技术问题,本发明实施例提供一种DNS报文处理方法、装置、处理设备及存储介质。
第一方面,本发明实施例提供一种DNS报文处理方法,包括:
根据第一设备对DNS报文的解析结果,获取所述DNS报文中头部字段的第一标记信息;
根据所述第一标记信息,接收由所述第一设备发送的DNS报文对应的应答报文;
第二设备识别所述应答报文中头部字段的第二标记信息;
针对所述应答报文,将所述第二标记信息更新为初始状态值,得到目标报文;
将所述目标报文发送至第三设备。
在一个可能的实施方式中,所述解析结果通过以下方式获取:
所述第二设备向所述第一设备发送所述DNS报文的解析请求;
所述第一设备响应于所述解析请求对所述DNS报文进行解析,得到所述解析结果。
在一个可能的实施方式中,所述第一设备响应于所述解析请求对所述DNS报文进行解析,得到所述解析结果,包括:
在接收到所述第二设备发送的DNS报文解析请求时,对所述第一设备获得的所述DNS报文的标准性进行校验;
在所述DNS报文为标准DNS报文时,获取所述DNS报文对应的第二IP和域名的匹配结果,所述第二IP为所述第二设备的IP,所述域名为所述第一设备进行解析的域名;
在所述DNS报文对应的所述第二IP和所述域名匹配成功时,通过将所述DNS报文中的第三IP更新为第一IP,得到更新后的所述DNS报文对应的所述第一IP,所述第三IP为所述第三设备的IP,所述第一IP为所述第一设备的IP;
根据所述第一IP,对所述DNS报文进行解析处理,获取所述第一设备中的DNS报文的解析结果。
在一个可能的实施方式中,所述根据所述第一标记信息,接收由所述第一设备发送的DNS报文对应的应答报文,包括:
通过将所述第一设备中的所述DNS报文对应的所述第一IP更新为所述第三IP,得到更新后的所述DNS报文对应的所述第三IP,获取所述第一设备对应的还原报文。
在一个可能的实施方式中,所述方法还包括:
在所述DNS报文为非标准DNS报文时,将所述DNS报文进行丢弃处理。
在一个可能的实施方式中,所述方法还包括:
在所述DNS报文对应的所述第二IP或所述域名匹配失败时,将所述DNS报文进行丢弃处理。
在一个可能的实施方式中,所述方法还包括:
获取所述第三设备发送的所述DNS报文的解析请求,对所述第三设备发送的所述DNS报文的标准性进行校验;
在所述第三设备发送的所述DNS报文为标准DNS报文时,发送所述解析请求至所述第一设备;
或,
在所述第三设备发送的所述DNS报文为非标准DNS报文时,将所述DNS报文进行丢弃处理。
第二方面,本发明实施例提供一种DNS报文处理装置,包括:
获取模块,用于根据第一设备对DNS报文的解析结果,获取所述DNS报文中头部字段的第一标记信息;
应答模块,用于根据所述第一标记信息,接收由所述第一设备发送的DNS报文对应的应答报文;
识别模块,用于第二设备识别所述应答报文中头部字段的第二标记信息;
更新模块,用于针对所述应答报文,将所述第二标记信息更新为初始状态值,得到目标报文;
发送模块,用于将所述目标报文发送至第三设备。
第三方面,本发明实施例提供一种处理设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的DNS报文处理程序,以实现第一方面中任一所述的DNS报文处理方法。
第四方面,本发明实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面中任一所述的DNS报文处理方法。
本发明实施例提供的DNS报文处理方法、装置、处理设备及存储介质,根据第一设备对DNS报文的解析结果,获取所述DNS报文中头部字段的第一标记信息;通过DNS报文中的头部字段的第一标记信息可以表征DNS报文的解析来源;根据所述第一标记信息,接收由所述第一设备发送的DNS报文对应的应答报文;第一设备将标记了的DNS报文作为应答报文发送出去;第二设备识别所述应答报文中头部字段的第二标记信息;第二设备解读应答报文中的第二标记信息,获取第二标记信息的内容;针对所述应答报文,将所述第二标记信息更新为初始状态值,得到目标报文;再获取表征DNS报文的解析来源的第二标记信息后,将第二标记信息更新至初始值,还原DNS报文的初始解析结果;将所述目标报文发送至第三设备。将还原的DNS报文的解析结果发送出去,反馈给外部客户端对应的DNS报文的解析结果,从而完成DNS报文的解析过程。由本方案,可以通过查看第二标记信息来判断DNS报文的解析来源,实现追踪DNS报文的追踪来源的技术效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为相关技术中的一种DNS报文解析的场景示意图;
图2为本发明实施例提供的一种DNS报文处理方法的流程示意图;
图3为本发明实施例提供的另一种DNS报文处理方法的流程示意图;
图4为本发明实施例提供的再一种DNS报文处理方法的流程示意图;
图5为本发明实施例提供的一种DNS报文处理装置的结构示意图;
图6为本发明实施例提供的一种处理设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的用语“包括”和“具有”用以表示开放式的包括在内的意思,并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。此外,附图中的不同元件和区域只是示意性示出,因此本发明不限于附图中示出的尺寸或距离。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
域名系统(Domain Name System,DNS),简单理解就是解析器、域名服务器的组合。事实上网站域名只是一个IP地址,由于人们难以记住各式各样的IP地址,所以DNS就是存储了各种IP地址,然后通过域名定位到IP地址来进行连接通信的。而DNS报文解析的过程就是获取IP地址的过程,通过客户端(一般指浏览器、运营商)构建DNS查询请求,依次通过传输层、网络层、数据链路层等封装后传送到DNS服务器端,客户端(一般指浏览器、运营商)接收到DNS响应消息,完成DNS报文的解析过程。
用户数据报协议(User Datagram Protocol,UDP),是开放式系统互联(OpenSystem Interconnection,OSI)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。在处理DNS报文解析问题上一般采用的是UDP协议的DNS报文解析。
权威DNS服务器是实际持有并负责DNS资源记录的服务器。是DNS查找链底部的服务器,它将使用查询的资源记录进行响应,最终允许Web浏览器发出请求以访问网站或其他Web资源所需的IP地址。权威DNS服务器是特定域名记录(例如“example.com”)在域名注册商处所设置的DNS服务器,用于特定域名本身的管理(增加、删除、修改等)。权威DNS服务器只对自己所拥有的域名进行域名解析,对于不是自己的域名则拒绝访问。
递归DNS服务器是响应来自客户端的递归请求并花时间跟踪DNS记录的计算机。它通过发出一系列请求直到它到达请求记录的权威DNS名称服务器(或者如果没有找到记录则超时或返回错误)来完成此操作。在整个DNS报文查询过程中,客户端除了在一开始向本地域名服务器发起请求外,其余时间都是由本地域名服务器代替进行递归查询。这里的本地域名服务器就是递归DNS服务器,它大多数在运营商端,负责从网络接入终端的DNS报文查询。
图1为相关技术中的一种DNS报文解析的场景示意图。如图1所示,DNS报文解析过程包括:客户端11、递归DNS服务器12、权威DNS服务器13和分流系统14。
在一个具体的场景中,通过客户端11发出DNS报文的解析请求,递归DNS服务器12在接收到解析请求后,将解析请求发送给权威DNS服务器13。通过权威DNS服务器13进行解析处理,并将解析结果反馈给递归DNS服务器12,从而客户端11收到DNS报文的解析结果。在此同时,为了缓解权威DNS服务器13的运行压力,在客户端11将解析请求发送给递归DNS服务器12后,通过分流系统14获得一份相同的解析请求。在分流系统14中进行解析处理后,将解析结果反馈给递归DNS服务器12,并通过递归DNS服务器12反馈给客户端11。完成了DNS报文的解析。
但是,分流系统反馈的解析结果和权威DNS服务器反馈的解析结果完全一致,递归DNS服务器无法获知解析结果是来自于真实的权威DNS服务器还是分流系统,对后续报文的深入分析带来巨大问题。
对此,本发明实施例提出一种DNS报文处理方法,通过得到DNS报文的解析结果后,修改DNS报文中头部字段中的指定字段内容,达到标记解析结果的目的,再通过识别应答报文中对应的头部字段的信息,获取应答报文的标记信息,从而完成追踪DNS报文来源的效果。下面将结合示例,对本发明进行详细说明。下面的具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不在赘述,下面将结合附图,对实施例进行描述。
图2为本发明实施例提供的一种DNS报文处理方法的流程示意图。本发明实施例用以说明DNS报文处理方法的具体实现,但具体实现步骤只表示一种可能的实现方式,而不是全部的实现方式。根据图2提供的示图,DNS报文处理方法具体包括:
S201、根据第一设备对DNS报文的解析结果,获取DNS报文中头部字段的第一标记信息。
本发明实施例提供的一种DNS报文处理方法应用于域名解析系统中。本发明实施例的执行主体是分流系统中内部的递归DNS服务器。其中,第一设备可以理解为分流系统中的解析处理模块,用于解析DNS报文,反馈解析结果的DNS解析器。DNS报文中的头部字段可以理解为在DNS报文中的头部文件中指定字段信息。第一标记信息用于标记DNS报文中头部字段的指定位置的信息。
进一步地,在图1中介绍的分流系统中,通过获取DNS报文解析请求后,利用分流系统中的第一设备,对DNS报文进行解析处理,获得解析结果。在获得的DNS报文的解析结果中,对DNS报文中的头部字段进行标记处理,将标记后的头部字段作为第一标记信息存储在解析结果中。
可选地,DNS报文中的头部字段可以是头部16个字节长度的标志字段中的指定子字段或其他带有实际意义的指定字段。对DNS报文中的头部字段进行的标记处理,可以是但不限于是对指定字段的内容进行修改、重新定义新的字段的实际意义等方式。例如,对头部字段中16字节长度的标志字段中的最后三个字段的内容进行修改的操作,可以达到标记DNS报文的解析结果的效果。
S202、根据第一标记信息,接收由第一设备发送的DNS报文对应的应答报文。
其中,应答报文可以理解为通过分流系统中的第一设备进行解析处理,得到的解析结果。
进一步地,根据带有标记信息的DNS报文的解析结果,通过第一设备将解析结果中的IP地址进行调换,封装处理等,得到应答报文。再通过第一设备发送给上一级系统。可选地,第一设备将应答报文发送至分流系统中的内部递归DNS服务器,完成DNS报文解析结果的反馈操作。
S203、第二设备识别应答报文中头部字段的第二标记信息。
其中,第二设备可以理解为在DNS解析系统中设置的辅助分流系统中,具有相同处理能力,可以模拟外部递归DNS服务器功能的服务器。第二标记信息可以理解为有相同信息的第一标记信息,是应答报文中的头部字段中相同字段位置的标记信息。
可选地,识别处理可以理解为对应答报文中头部字段的指定字段通过软件代码获取字段里的内容信息。这里所说的识别可以是但不限于是通过软件获取指定信息位置、通过查询头部文件内容获取指定信息、通过字段地址直接获取指定信息等方式得到第二标记信息。
进一步地,在第二设备接收到应答报文后,对应答报文进行识别处理,获得对应的第二标记信息。可以理解为对带有第一标记信息的应答报文进行识别,获取应答报文中头部字段的指定字段信息,得到识别后的应答报文中对应的第二标记信息。
S204、针对应答报文,将第二标记信息更新为初始状态值,得到目标报文。
其中,初始状态值可以理解为DNS报文中头部字段的第一标记信息之前的信息。用于还原DNS报文的解析结果,得到经第一设备解析处理后的DNS报文。目标报文可以理解为经过第二设备还原的解析结果。
可选地,目标报文可以是经过应答报文还原处理后得到的。
进一步地,在识别有第二标记信息的应答报文后,通过第二设备,将第二标记信息还原到更新前的字段信息,得到还原后的目标报文。此时的目标报文中头部字段的指定信息已经更新为初始状态值,即,通过第一设备解析处理后得到的解析结果的头部字段对应的指定信息。
S205、将目标报文发送至第三设备。
其中,第三设备可以是DNS解析系统中的外部递归DNS服务器或外部的客户端,用于发送DNS报文的解析请求的设备。
进一步地,通过第二设备得到目标报文后,将目标报文发送出去,发送至分流系统外部的第三设备。这里的第三设备可以是DNS解析系统中的递归DNS服务器。通过分流系统外部的递归DNS服务器将目标报文发送给客户端,反馈给客户端对应的DNS报文的解析结果,完成DNS报文的解析处理。通过识别第二标记信息,提取第二标记信息的具体内容,就可以查看DNS报文的解析来源,实现追踪DNS报文的解析来源的效果。
本发明实施例提供的一种DNS报文处理方法,根据第一设备对DNS报文的解析结果,获取DNS报文中头部字段的第一标记信息;通过解析后的DNS报文中的头部字段的第一标记信息可以查看DNS报文的解析来源。根据第一标记信息,接收由第一设备发送的DNS报文对应的应答报文;第一设备将标记了的DNS报文作为应答报文发送出去。第二设备识别应答报文中头部字段的第二标记信息;第二设备解读应答报文中的标记信息,获取第二标记信息的内容。针对应答报文,将第二标记信息更新为初始状态值,得到目标报文;再获取表征DNS报文的解析来源的第二标记信息后,将第二标记信息更新至初始值,还原DNS报文的初始解析结果。将目标报文发送至第三设备。将还原的DNS报文的解析结果发送出去,反馈给客户端一个DNS报文的解析结果,从而完成DNS报文的解析过程。由本方案,可以通过查看第二标记信息来判断DNS报文的解析来源,实现追踪DNS报文的解析来源的技术效果。
图3为本发明实施例提供的另一种DNS报文处理方法的流程示意图。该DNS报文处理方法是在第一种DNS报文处理方法的基础上进行说明的。根据图3提供的示图,DNS报文的处理方法具体还包括:
S301、第二设备向第一设备发送DNS报文的解析请求。
本发明实施例提供的DNS报文处理方法应用于DNS报文解析系统中。本发明实施例的执行主体为第二设备,包含在DNS报文解析系统中的辅助作用的分流系统中,可以是分流系统中的内部递归DNS服务器。第一设备可以理解为是分流系统中的DNS报文解析处理模块,用于解析收到的DNS报文。
进一步地,在外部客户端发起DNS报文解析请求后,通过第二设备获取一份相同的DNS报文解析请求。并将这份DNS报文解析请求发送给分流系统中的解析处理模块,等待反馈解析结果。
在一种示例场景中,通过客户端向递归DNS服务器发出DNS报文查询请求,分流系统从外部递归DNS服务器中复制一份相同的DNS报文查询请求。经过分流系统中的内部递归DNS服务器分析请求后,将这份请求发送给分流系统内部的DNS报文解析处理模块,等待反馈的查询结果。
可选地,DNS报文的解析过程是发送域名查询请求,获取表征DNS报文域名的IP地址的查询结果的过程。
S302、在接收到第二设备发送的DNS报文解析请求时,对第一设备获得的DNS报文的标准性进行校验。
其中,DNS报文的标准性可以理解为第一设备对获得的DNS报文的结构是否完整进行校验。可选地,第一设备可以是但不限于是对DNS报文的格式、结构、类型信息等进行检查。
进一步地,在第二设备发送的UDP DNS报文的解析请求后,通过第一设备进行校验处理,判断DNS报文的结构是否符合解析要求。
在一种可能的示例中,通过分流系统内部的递归DNS服务器发送UDP DNS报文的相关域名的查询请求,分流系统中的解析处理模块对DNS报文的域名结构进行校验,判断DNS报文的域名结构是否符合解析处理模块的要求。
S303、在DNS报文为非标准DNS报文时,将DNS报文进行丢弃处理。
进一步地,通过第一设备对DNS报文的标准性进行校验,在DNS报文不满足第一设备的要求时,判断DNS报文为非标准的DNS报文,不符合第一设备的要求,此时,第一设备会将DNS报文丢弃,中断对DNS报文解析请求任务的处理。
S304、在DNS报文为标准DNS报文时,获取DNS报文对应的第二IP和域名的匹配结果,第二IP为第二设备的IP,域名为第一设备进行解析的域名。
其中,DNS报文中携带两个IP,一个是源IP,一个目的IP,用于区分DNS报文解析过程中的解析请求端和解析处理端。当客户端发出DNS报文解析请求时,也可以理解为客户端发出域名查询请求时,此时DNS报文的源IP地址就是客户端的IP地址。客户端将解析请求发送至递归DNS服务器,请求解析,此时递归DNS服务器的IP地址就会作为DNS报文的目的IP地址。当递归DNS服务器获取到解析结果时,会将表征域名信息的IP地址反馈给客户端,完成DNS报文的解析。
进一步地,在第一设备获得标准DNS报文后,会对DNS报文的源IP和请求解析的域名进行匹配,判断请求是否是由第二设备发送的。
在一种可能的示例中,分流系统中的内部的解析处理模块对获得的DNS报文的源IP和域名进行匹配,判断是否是由上一级递归DNS服务器发送的请求。
S305、在DNS报文对应的第二IP或域名匹配失败时,将DNS报文进行丢弃处理。
进一步地,在第一设备判断出DNS报文的第二IP匹配失败,或者DNS报文中请求解析的域名匹配失败时,将此时的DNS报文丢弃,中断对DNS报文解析请求任务的处理。
在一种可能的示例中,分流系统中的解析处理模块判断出此时的DNS报文的源IP不是发送解析请求的分流系统内部的递归DNS服务器的IP地址时,将DNS报文丢弃,中断对DNS报文的解析处理。或者,通过解析处理模块判断出解析请求中对应的域名不匹配,则将DNS报文丢弃,中断DNS报文的解析处理任务。
S306、在DNS报文对应的第二IP和域名匹配成功时,第一设备响应于解析请求对DNS报文进行解析,得到解析结果。
进一步地,在第一设备中的DNS报文的源IP为第二设备的IP地址时,同时,DNS报文的域名为第一设备准备解析的域名时,判断匹配成功,第一设备对DNS报文进行解析,获得相应的解析结果。
在一种可能的示例场景中,通过分流系统中的解析处理模块判断出此时的DNS报文的源IP地址为分流系统内部的递归DNS服务器的IP地址,同时判断出DNS报文的解析域名为解析处理模块准备处理的域名,则判断匹配成功。解析处理模块将对DNS报文中的域名进行解析处理,得到表征DNS报文的域名信息的IP地址,作为解析结果存储下来,并将解析结果反馈给分流系统内部的递归DNS服务器。
S307、根据第一设备对DNS报文的解析结果,获取DNS报文中头部字段的第一标记信息。
进一步地,根据第一设备中的解析处理模块得到DNS报文的解析结果,对获得的解析结果的DNS报文中的头部字段的指定位置做出标记,得到DNS报文对应的第一标记信息。这里的第一标记信息表征了DNS报文的解析处理的来源,通过查看第一标记信息的内容,可以获得DNS报文解析处理的系统来源,进而判断DNS报文是通过外部权威DNS服务器进行解析处理还是通过分流系统中的解析处理模块进行解析处理得到的。
可选地,DNS报文中头部字段可以是但不限于是DNS报文头部文件中的16个字节长度的标志字段信息。
下面针对DNS报文中的头部字段的标志字段信息,进行具体说明,其中DNS报文头部16bit的标志字段内容如表1所示。
表1
其中,QR(Response):查询请求/响应的标志信息。查询请求时,值为0;响应时,值为1。
Opcode:操作码。其中,0表示标准查询;1表示反向查询;2表示服务器状态请求;3-15保留值,暂时未使用。
AA(Authoritative):授权应答,该字段在响应报文中有效。值为1时,表示名称服务器是权威DNS服务器;值为0时,表示不是权威DNS服务器。名称服务器可以理解为当前处理DNS报文的服务器。
TC(Truncated):表示是否被截断。值为1时,表示响应已超过512字节并已被截断,只返回前512个字节。
RD(Recursion Desired):期望递归。该字段能在一个查询中设置,并在响应中返回。该标志字段告诉名称服务器必须处理这个查询,这种方式被称为一个递归查询。如果该位为0,且被请求的名称服务器没有一个授权回答,它将返回一个能解答该查询的其他名称服务器列表。这种方式被称为迭代查询。
RA(Recursion Available):可用递归。该字段只出现在响应报文中。当值为1时,表示域名服务器支持递归查询。
Z:保留字段,在所有的请求和应答报文中,它的值必须为0。
rcode(Reply code):返回码字段,表示响应的差错状态。当值为0时,表示没有错误;当值为1时,表示报文格式错误(Format error),服务器不能理解请求的报文;当值为2时,表示域名服务器失败(Server failure),因为服务器的原因导致没办法处理这个请求;当值为3时,表示名字错误(Name Error),只有对授权域名解析服务器有意义,指出解析的域名不存在;当值为4时,表示查询类型不支持(Not Implemented),即域名服务器不支持查询类型;当值为5时,表示拒绝(Refused),一般是服务器由于设置的策略拒绝给出应答,如服务器不希望对某些请求者给出应答。其中,域名服务器是用来解析域名的服务器。
将Z位所在的3bit字段进行重新定义,将定义的三个新的标志字段作为第一标记信息,通过标记指定的三个字段来查看DNS报文的解析来源。三个字段的具体内容包括:
Z位:保留位,通常为0。
AD位:AD=1,表明DNS响应是真实的符合安全认证,否则为0。
CD位:禁止检查。CD=1,无论验证是否成功都发送DNS应答。
根据指定的3bit字段的具体意义,结合不同的取值,组合成不同的二进制数,从而定义不同的含义,来表征DNS报文的解析来源的不同。
DNS安全扩展(Domain Name System Security Extensions,DNSSEC),是由IETF提供的一系列DNS安全认证的机制(可参考RFC2535)。它提供了一种来源鉴定和数据完整性的扩展,但不去保障可用性、加密性和证实域名不存在。是保护DNS报文中出现的一些漏洞,防止攻击者获取DNS报文的内部信息并对相应的网站进行恶意操作。
根据定义的DNS报文头部字段中的三位指定字段和DNSSEC服务,制定新的规则,对追踪DNS报文的解析来源设定具体的规则。下面按照对DNSSEC服务是否开启进行规则制定,具体规则如下:
规则一:不开启DNSSEC服务
此时,使用AD、CD位不影响DNS报文的解析过程。经过3bit的组合可获得8种状态,假设设置3个分流系统,每个分流系统中均含有两台解析服务器,具体关系如表2所示。
表2
状态值 | 含义 |
000 | 真实权威应答,非分流系统应答 |
001 | 分流系统A地1号服务器应答 |
010 | 分流系统A地2号服务器应答 |
011 | 分流系统B地1号服务器应答 |
100 | 分流系统B地2号服务器应答 |
101 | 分流系统C地1号服务器应答 |
110 | 分流系统C地2号服务器应答 |
111 | 保留 |
通过表2中设定的关系,根据DNS报文中头部字段中的3bit位的数值组合,通过软件转化成对应的二进制数,来匹配分流系统的服务器。根据得到的二进制数值,可以判断出DNS报文的解析来源,通过表征3bit位字段具体内容的第一标记信息,实现对DNS报文的追踪标记。
举个实例说明,例如通过标记DNS报文的头部字段的3bit位,得到110的数值组合,通过系统软件分析,会得到对应的二进制数值6,对应关系就是分流系统C中2号服务器应答,从而追踪到DNS报文解析来源。
可选地,本发明实施例中提供的标记DNS报文的方式不限于一种,还还可以根据需求设置1bit、2bit字段信息作为标记信息,指定相应的规则来表征DNS报文解析来源的参考要求。还可以是通过设置DNS报文的尾部字段或其他字段中的具体位置信息,来达到标记的作用,都属于本发明的保护范围。
可选地,本发明实施例提供的分流系统的个数不限于是3个,还可以设置为1个、2个等,相对应的每个分流系统中的服务器的个数也不限于是2个,可以根据系统需要设置多个,均在本发明的保护范围内。
规则二:开启DNSSEC服务
此时,AD、CD位不可使用。经过Z位1bit的组合后可获得表3中状态,具体关系如表3所示。
表3
状态值 | 含义 |
0 | 真实权威应答,非分流系统应答 |
1 | 分流系统应答 |
根据表3设定的关系,在关闭了DNSSEC服务的情况下,根据标记的状态值信息,判断出DNS报文的解析处理是由权威DNS服务器应答还是分流系统应答。
S308、根据第一标记信息,接收由第一设备发送的DNS报文对应的应答报文。
其中,应答报文可以理解为通过第一设备对DNS报文进行解析处理,在对解析结果进行封装处理后得到的DNS报文。用于反馈给第二设备对应的解析结果。
进一步地,通过第一设备对解析结果进行标记处理,将带有第一标记信息的解析结果发送至第二设备。
在一种可能的示例场景中,通过分流系统中的解析处理模块将DNS报文的解析结果通过标记处理、封装处理等得到对应的应答报文,进而将应答报文发送至分流系统内部的递归DNS服务器,反馈标记处理后的解析结果。
S309、第二设备识别应答报文中头部字段的第二标记信息。
进一步地,通过第一设备发送的应答报文,第二设备对应答报文的头部字段进行识别,识别出应答报文中头部字段的标记信息,进而作为第二标记信息进行存储。
在一种可能的示例场景中,分流系统内部的递归DNS服务器接收到分流系统的应答报文,递归DNS服务器中报文解析的程序对应答报文的头部16bit字段进行解析,根据16bit位置,识别出Z、AD、CD字段位置,进而提取出有效信息。通过软件程序查看Z、AD、CD字段的内容,通过数据转换等处理方式,得到表征DNS报文解析处理的服务器,从而追踪到DNS报文的解析来源。
S310、针对应答报文,将第二标记信息更新为初始状态值,得到目标报文。
其中,初始状态值可以理解为第一标记信息之前的信息。目标报文可以理解为分流系统反馈给外部递归DNS服务器或者外部客户端的DNS报文。
进一步地,第二设备获取到应答报文中的第二标记信息,将DNS报文中的标记处理进行清除,恢复DNS报文中头部字段中的原始数据,达到恢复DNS报文的解析结果。将恢复后的解析结果作为目标报文。
在一种可能的示例场景中,通过分流系统中的递归DNS服务器识别出DNS报文中头部16bit字段中的Z、AD、CD字段信息后,将Z、AD、CD字段的信息恢复成初始数据,祛除解析结果的修改痕迹,得到最终的目标报文。
S311、将目标报文发送至第三设备。
这里所说的第三设备可以理解为是DNS报文解析系统中的递归DNS服务器或客户端。通过第三设备发起DNS报文的解析请求。
在一种可能是示例场景中,通过分流系统中内部递归DNS服务器将DNS报文的解析结果经过处理,得到初始的DNS报文解析结果。通过分流系统中的内部递归DNS服务器将解析结果反馈给外部递归DNS服务器,外部的递归DNS服务器接收到DNS报文的解析结果,进而完成分流系统处理DNS报文解析的过程。同时,软件程序获取到标记的DNS报文中头部16bit字段中的Z、AD、CD字段信息,经过分析处理,可以查看DNS报文的解析来源,实现追踪DNS报文解析来源的效果。
本发明实施例提供的一种DNS报文处理方法,通过在分流系统中的解析处理模块中标记DNS报文头部16bit字段中的Z、AD、CD字段信息,得到标记信息后的应答报文。再通过分流系统中的解析处理模块将应答报文发送至内部的递归DNS服务器进行识别和提取,得到标记的DNS报文头部16bit字段中的Z、AD、CD字段的具体数值信息。再将具有标记痕迹的应答报文进行恢复处理,得到初始的DNS报文的解析结果,即,代表DNS报文的域名的IP地址信息,反馈给外部的递归DNS服务器,完成DNS报文的查询处理。软件程序识别DNS报文头部16bit字段中的Z、AD、CD字段信息,经过处理分析,获取到DNS报文解析处理的服务器来源,进而实现追踪DNS报文解析来源的效果。
图4为本发明实施例提供的再一种DNS报文处理方法的流程示意图。如图4所示,DNS报文处理方法具体包括:
S401、获取第三设备发送的DNS报文的解析请求,对第三设备发送的DNS报文的标准性进行校验。
其中,第三设备可以理解为是DNS报文解析系统中的递归DNS服务器或客户端。通过分流系统复制第三设备的解析请求后,进行解析处理。
进一步地,在DNS报文解析系统中,客户端将DNS报文的解析请求发送至第三设备。第二设备从第三设备中复制一份相同的解析请求,并对第三设备发送的DNS报文的标准性进行判断。
其中,DNS报文的标准性可以理解为第一设备对获得的DNS报文的结构是否完成进行校验。可选地,第一设备可以是但不限于是对DNS报文的格式、结构、类型信息等进行检查。
进一步地,在第二设备发送的UDP DNS报文的解析请求后,通过第一设备进行校验处理,判断DNS报文的结构是否符合处理要求。
可选地,这里的客户端不限于是外部浏览器。还可以是本地域名服务器。
在一种可能的示例场景中,外部浏览器发出域名查询请求,DNS报文解析系统中的递归DNS服务器将接收到的查询请求,通过分流系统中内部递归DNS服务器复制一份相同的域名查询请求,并对DNS报文的标准性进行判断。
S402、在第三设备发送的DNS报文为非标准DNS报文时,将DNS报文进行丢弃处理。
进一步地,在第二设备判断出获取的DNS报文不符合标准DNS报文时,将中断DNS报文的解析处理,对DNS报文进行丢弃处理。
S403、在第三设备发送的DNS报文为标准DNS报文时,发送解析请求至第一设备。
进一步地,在第二设备判断出DNS报文为标准的DNS报文时,将复制的第三设备的DNS报文的解析请求发送至第一设备,请求第一设备进行解析处理。
在一种可能的示例场景中,分流系统中内部递归DNS服务器复制外部域名查询请求后,判断得到DNS报文的结构符合标准DNS报文要求,会将域名查询请求发送至分流系统中的解析处理模块,等待反馈的表征域名信息的IP地址。
S404、在接收到第二设备发送的DNS报文解析请求时,对第一设备获得的DNS报文的标准性进行校验。
在一种可能的示例场景中,分流系统中的解析处理模块对DNS报文的域名结构进行校验,判断DNS报文的域名结构是否符合解析处理模块的要求。
S405、在DNS报文为标准DNS报文时,获取DNS报文对应的第二IP和域名的匹配结果,第二IP为第二设备的IP,域名为第一设备进行解析的域名。
其中,DNS报文中携带两个IP,一个是源IP,一个目的IP,用于区分DNS报文解析过程中的解析请求端和解析处理端。当客户端发出DNS报文解析请求时,也可以理解为客户端发出域名查询请求时,此时DNS报文的源IP地址就是客户端的IP地址。客户端将解析请求发送至递归DNS服务器,请求解析,此时递归DNS服务器的IP地址就作为DNS报文的目的IP地址。当递归DNS服务器获取到解析结果时,将表征域名信息的IP地址反馈给客户端,完成DNS报文的解析。
这里所说的DNS报文对应的第二IP可以理解为当前DNS报文是由第二设备发送至第一设备,此时DNS报文中的源IP地址是第二设备的IP地址。
进一步地,在第一设备获取标准DNS报文时,对DNS报文的源IP和域名进行匹配,判断DNS报文是否在第一设备的解析范围内。
S406、在DNS报文对应的第二IP和域名匹配成功时,通过将DNS报文中的第三IP更新为第一IP,得到更新后的DNS报文对应的第一IP,第三IP为第三设备的IP,第一IP为第一设备的IP。
DNS报文中携带两个IP地址,一个是DNS报文的源IP,一个是DNS报文的目的IP。DNS报文中的目的IP地址是外部递归DNS服务器的IP地址。通过第二设备将复制的DNS报文的解析请求发送给第一设备进行解析处理,所以当前DNS报文中的目的IP地址没有变化,仍然为外部递归DNS服务器的IP地址。
进一步地,在第一设备中DNS报文的源IP和域名匹配成功时,对DNS报文进行解析处理。将当前DNS报文的目的IP修改为第一设备的IP,从而对DNS报文进行域名解析处理。
在一种可能的示例场景中,分流系统中的解析处理模块将DNS报文的目的IP更新为解析处理模块的IP,得到当前DNS报文的目的IP为分流系统中解析处理模块的IP。
S407、根据第一IP,对DNS报文进行解析处理,获取第一设备中的DNS报文的解析结果。
进一步地,通过将第一设备中的DNS报文进行修改,得到第一设备的IP,进而对DNS报文进行解析处理,将解析得到的结果作为DNS报文的解析结果进行存储。
在一种可能的示例场景中,通过分流系统中的解析处理模块对DNS报文的进行解析处理,将域名查询请求通过层层的名称服务器进行查询,并反馈查询结果。将查询到的代表域名信息的IP地址作为解析结果反馈给解析处理模块。
可选地,解析处理模块通过获取DNS报文的域名查询请求,向根域名服务器发出查询请求,根域服务器反馈一个查询结果;在向一级域名服务器发出查询请求,再次获得一个查询结果;在向顶级域名服务器、权威域名服务器等逐层进行解析处理,最终得到代表域名信息的IP地址。将解析得到的IP地址作为解析结果进行存储。
S408、根据第一设备对DNS报文的解析结果,获取DNS报文中头部字段的第一标记信息。
这里所说的第一标记信息与图2所示的实施例中的内容相同,在这里就不再赘述。
进一步地,根据第一设备解析处理得到的解析结果,对DNS报文中头部字段的指定字段进行标记,得到对应的第一标记信息。
在一种可能的示例场景中,通过分流系统中的解析处理模块得到DNS报文的解析结果。对DNS报文中头部16个字节长度的标志字段中的Z、AD、CD字段进行标记,得到表征DNS报文解析来源的标记信息。
S409、通过将第一设备中的DNS报文对应的第一IP更新为第三IP,得到更新后的DNS报文对应的第三IP,获取第一设备对应的还原报文。
这里说的还原报文可以理解为经过更新DNS报文中的目的IP后的解析结果。
进一步地,将第一设备中获得的解析结果对应的第一IP还原到第三IP,得到还原后的解析结果对应的还原报文。
在一种可能的示例场景中,通过修改解析处理模块将DNS报文的目的IP修改为外部递归DNS服务器的IP,便于反馈给外部递归DNS服务器相应的DNS报文的解析结果。
S410、根据第一标记信息对应的还原报文,接收由第一设备发送的DNS报文对应的应答报文。
这里的应答报文是通过还原报文封装处理后获得的。通过对还原报文进行封装处理,由第一设备将应答报文发送至第二设备。
S411、第二设备识别应答报文中头部字段的第二标记信息。
第二标记信息可以理解为应答报文中头部字段中指定字段的标记信息。
用于表征应答报文的解析来源。
进一步地,通过第二设备识别应答报文中的指定字段的具体信息并提取,得到表征DNS报文解析来源的第二标记信息。
在一种可能的示例场景中,分流系统内部的递归DNS服务器接收到解析处理模块反馈的应答报文,通过软件程序对应答报文中头部字段进行识别,识别出应答报文中头部16bit字节中的Z、AD、CD字段的位置,提取Z、AD、CD字段的具体内容,通过分析,得到表征DNS报文解析来源的参考数据。
S412、针对应答报文,将第二标记信息更新为初始状态值,得到目标报文。
这里的初始状态值可以理解为第一标记信息之前的信息。在识别第二标记信息后,将应答报文中头部字段中的第二标记信息还原到初始值,保证应答报文与第一设备解析处理后的解析结果保持一致。将还原后的应答报文作为目的报文保存。
在一种可能的示例场景中,还原报文中头部16bit字段的Z、AD、CD字段信息修改成初始值,将修改后的DNS报文作为目标报文存储。
S413、将目标报文发送至第三设备。
进一步地,将还原标记信息的目标报文反馈给外部递归DNS服务器,得到一份DNS报文的解析结果。
本发明实施例提供了一种DNS报文处理方法,通过分流系统复制一份解析请求,经过判断DNS报文的标准性,将标准DNS报文发送给分流系统中的解析处理模块。解析处理模块对接收到的DNS报文的源IP和域名进行匹配,将匹配成功的DNS报文进行解析处理,得到解析结果。在得到的解析结果中头部指定字段进行标记,并通过封装处理发送给分流系统内部的递归DNS服务器。内部递归DNS服务器经过识别和提取,得到表征DNS报文解析来源的信息,通过查看提取的标记信息判断DNS报文的解析来源。将解析结果中的标记信息进行初始化处理,反馈给外部递归DNS服务器,并通过外部递归DNS服务器将DNS报文的解析结果发送至浏览器,完成DNS报文的解析过程。通过解读目标报文的标记信息,实现追踪DNS报文解析来源的效果。
图5为本发明实施例提供的一种DNS报文处理装置的结构示意图。根据图5提供的示图,DNS报文处理装置具体包括:
获取模块51,用于根据第一设备对DNS报文的解析结果,获取DNS报文中头部字段的第一标记信息;
应答模块52,用于根据第一标记信息,接收由第一设备发送的DNS报文对应的应答报文;
识别模块53,用于第二设备识别应答报文中头部字段的第二标记信息;
更新模块54,用于针对应答报文,将第二标记信息更新为初始状态值,得到目标报文;
发送模块55,用于将目标报文发送至第三设备。
本实施例提供的DNS报文处理装置可以是如图5中所示的DNS报文处理装置,可执行如图2-4中DNS报文处理方法的所有步骤,进而实现图2-4所示DNS报文处理方法的技术效果,具体请参照图2-4相关描述,为简洁描述,在此不作赘述。
图6为本发明实施例提供的一种处理设备的结构示意图,图6所示的处理设备600包括:至少一个处理器601、存储器602、至少一个网络接口604和其他用户接口603。处理设备600中的各个组件通过总线系统606耦合在一起。可理解,总线系统606用于实现这些组件之间的连接通信。总线系统606除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统606。
其中,用户接口603可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器602可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的存储器602旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器602存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统6021和应用程序6022。
其中,操作系统6021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序6022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序6022中。
在本发明实施例中,通过调用存储器602存储的程序或指令,具体的,可以是应用程序6022中存储的程序或指令,处理器601用于执行各方法实施例所提供的方法步骤,例如包括:
根据第一设备对DNS报文的解析结果,获取DNS报文中头部字段的第一标记信息;根据第一标记信息,接收由第一设备发送的DNS报文对应的应答报文;第二设备识别应答报文中头部字段的第二标记信息;针对应答报文,将第二标记信息更新为初始状态值,得到目标报文;将目标报文发送至第三设备。
上述本发明实施例揭示的方法可以应用于处理器601中,或者由处理器601实现。处理器601可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的处理设备可以是如图6中所示的处理设备,可执行如图2-4中DNS报文处理方法的所有步骤,进而实现图2-4所示DNS报文处理方法的技术效果,具体请参照图2-4相关描述,为简洁描述,在此不作赘述。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在DNS报文处理设备侧执行的DNS报文处理方法。
所述处理器用于执行存储器中存储的DNS报文处理程序,以实现以下在DNS报文处理设备侧执行的DNS报文处理方法的步骤:
根据第一设备对DNS报文的解析结果,获取DNS报文中头部字段的第一标记信息;根据第一标记信息,接收由第一设备发送的DNS报文对应的应答报文;第二设备识别应答报文中头部字段的第二标记信息;针对应答报文,将第二标记信息更新为初始状态值,得到目标报文;将目标报文发送至第三设备。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种DNS报文处理方法,其特征在于,包括:
根据第一设备对DNS报文的解析结果,获取所述DNS报文中头部字段的第一标记信息;
根据所述第一标记信息,接收由所述第一设备发送的DNS报文对应的应答报文;
第二设备识别所述应答报文中头部字段的第二标记信息;
针对所述应答报文,将所述第二标记信息更新为初始状态值,得到目标报文;
将所述目标报文发送至第三设备。
2.根据权利要求1所述的方法,其特征在于,所述解析结果通过以下方式获取:
所述第二设备向所述第一设备发送所述DNS报文的解析请求;
所述第一设备响应于所述解析请求对所述DNS报文进行解析,得到所述解析结果。
3.根据权利要求2所述的方法,其特征在于,所述第一设备响应于所述解析请求对所述DNS报文进行解析,得到所述解析结果,包括:
在接收到所述第二设备发送的DNS报文解析请求时,对所述第一设备获得的所述DNS报文的标准性进行校验;
在所述DNS报文为标准DNS报文时,获取所述DNS报文对应的第二IP和域名的匹配结果,所述第二IP为所述第二设备的IP,所述域名为所述第一设备进行解析的域名;
在所述DNS报文对应的所述第二IP和所述域名匹配成功时,通过将所述DNS报文中的第三IP更新为第一IP,得到更新后的所述DNS报文对应的所述第一IP,所述第三IP为所述第三设备的IP,所述第一IP为所述第一设备的IP;
根据所述第一IP,对所述DNS报文进行解析处理,获取所述第一设备中的DNS报文的解析结果。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一标记信息,接收由所述第一设备发送的DNS报文对应的应答报文,包括:
通过将所述第一设备中的所述DNS报文对应的所述第一IP更新为所述第三IP,得到更新后的所述DNS报文对应的所述第三IP,获取所述第一设备对应的还原报文。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述DNS报文为非标准DNS报文时,将所述DNS报文进行丢弃处理。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述DNS报文对应的所述第二IP或所述域名匹配失败时,将所述DNS报文进行丢弃处理。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述第三设备发送的所述DNS报文的解析请求,对所述第三设备发送的所述DNS报文的标准性进行校验;
在所述第三设备发送的所述DNS报文为标准DNS报文时,发送所述解析请求至所述第一设备;
或,
在所述第三设备发送的所述DNS报文为非标准DNS报文时,将所述DNS报文进行丢弃处理。
8.一种DNS报文处理装置,其特征在于,包括:
获取模块,用于根据第一设备对DNS报文的解析结果,获取所述DNS报文中头部字段的第一标记信息;
应答模块,用于根据所述第一标记信息,接收由所述第一设备发送的DNS报文对应的应答报文;
识别模块,用于第二设备识别所述应答报文中头部字段的第二标记信息;
更新模块,用于针对所述应答报文,将所述第二标记信息更新为初始状态值,得到目标报文;
发送模块,用于将所述目标报文发送至第三设备。
9.一种处理设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的DNS报文处理程序,以实现权利要求1~7中任一项所述的DNS报文处理方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~7中任一项所述的DNS报文处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210462790.XA CN115378884B (zh) | 2022-04-27 | 2022-04-27 | Dns报文处理方法、装置、处理设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210462790.XA CN115378884B (zh) | 2022-04-27 | 2022-04-27 | Dns报文处理方法、装置、处理设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115378884A true CN115378884A (zh) | 2022-11-22 |
CN115378884B CN115378884B (zh) | 2023-09-15 |
Family
ID=84060122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210462790.XA Active CN115378884B (zh) | 2022-04-27 | 2022-04-27 | Dns报文处理方法、装置、处理设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115378884B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070271372A1 (en) * | 2006-05-22 | 2007-11-22 | Reconnex Corporation | Locational tagging in a capture system |
US20110119306A1 (en) * | 2009-11-19 | 2011-05-19 | International Business Machines Corporation | User-Based DNS Server Access Control |
WO2015014215A1 (en) * | 2013-07-30 | 2015-02-05 | Tencent Technology (Shenzhen) Company Limited | Domain name resolution method, system and device |
WO2018063852A1 (en) * | 2016-09-30 | 2018-04-05 | Echostar Technologies L.L.C. | Content delivery optimization using adaptive and dynamic dns |
CN108173705A (zh) * | 2017-11-28 | 2018-06-15 | 北京天融信网络安全技术有限公司 | 流量引流的首包识别方法、装置、设备及介质 |
WO2018214853A1 (zh) * | 2017-05-22 | 2018-11-29 | 贵州白山云科技有限公司 | 一种减小dns报文长度的方法、装置、介质及设备 |
CN111107175A (zh) * | 2017-03-31 | 2020-05-05 | 贵州白山云科技股份有限公司 | 一种构建dns应答报文的方法及装置 |
CN113839882A (zh) * | 2021-09-26 | 2021-12-24 | 杭州迪普信息技术有限公司 | 一种报文流分流方法及装置 |
-
2022
- 2022-04-27 CN CN202210462790.XA patent/CN115378884B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070271372A1 (en) * | 2006-05-22 | 2007-11-22 | Reconnex Corporation | Locational tagging in a capture system |
US20110119306A1 (en) * | 2009-11-19 | 2011-05-19 | International Business Machines Corporation | User-Based DNS Server Access Control |
WO2015014215A1 (en) * | 2013-07-30 | 2015-02-05 | Tencent Technology (Shenzhen) Company Limited | Domain name resolution method, system and device |
WO2018063852A1 (en) * | 2016-09-30 | 2018-04-05 | Echostar Technologies L.L.C. | Content delivery optimization using adaptive and dynamic dns |
CN111107175A (zh) * | 2017-03-31 | 2020-05-05 | 贵州白山云科技股份有限公司 | 一种构建dns应答报文的方法及装置 |
WO2018214853A1 (zh) * | 2017-05-22 | 2018-11-29 | 贵州白山云科技有限公司 | 一种减小dns报文长度的方法、装置、介质及设备 |
CN108173705A (zh) * | 2017-11-28 | 2018-06-15 | 北京天融信网络安全技术有限公司 | 流量引流的首包识别方法、装置、设备及介质 |
CN113839882A (zh) * | 2021-09-26 | 2021-12-24 | 杭州迪普信息技术有限公司 | 一种报文流分流方法及装置 |
Non-Patent Citations (3)
Title |
---|
YONG JIN等: "Detection of Hijacked Authoritative DNS Servers by Name Resolution Traffic Classification", 《2019 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA)》 * |
王琼;杨冬;高德云;: "兼容DNS的一体化网络资源解析系统", 计算机技术与发展, no. 01 * |
翟懿: "基于深度学习的恶意流量检测技术研究", 《中国优秀硕士论文电子期刊网》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115378884B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5587732B2 (ja) | ドメイン・ネーム・サービス(dns)データベースへのアクセスを管理するコンピュータ実施方法、コンピュータ・プログラム、およびシステム | |
TWI475863B (zh) | 使用快取之安全資源名稱解析 | |
US7558880B2 (en) | Dynamic DNS registration method, domain name solution method, DNS proxy server, and address translation device | |
US11611567B2 (en) | Method and system for management and resolution of blockchain-based top-level domain | |
JP2017534198A (ja) | ドメイン名システムのトンネリング、流出及び侵入を識別する装置及び方法 | |
US20170118250A1 (en) | Method for minimizing the risk and exposure duration of improper or hijacked dns records | |
CN112929464B (zh) | 标识解析方法、装置、系统、动态适配器及可读存储介质 | |
US20180159814A1 (en) | Methods and systems for updating domain name service (dns) resource records | |
CN111431753A (zh) | 一种资产信息更新方法、装置、设备及存储介质 | |
WO2022179353A1 (zh) | 域名解析方法、装置及计算机设备 | |
CN115484322A (zh) | 数据包解封装卸载方法、装置、电子设备及存储介质 | |
CN111031148A (zh) | 一种地址解析方法、装置及电子设备和存储介质 | |
US8341252B2 (en) | Internet domain name super variants | |
CN113163028A (zh) | 一种业务数据传输方法、装置及系统 | |
CN115378884B (zh) | Dns报文处理方法、装置、处理设备及存储介质 | |
US7730226B2 (en) | Multiple protocol address register method, multiple protocol address register system, multiple protocol address register server, and multiple protocol address communication terminal | |
CN114978740B (zh) | 基于区块链的标识关联和验证的解析方法 | |
CN107995325B (zh) | 一种Android上降低域名解析失败的方法 | |
CN113766046B (zh) | 迭代流量跟踪方法、dns服务器及计算机可读存储介质 | |
CN110750290B (zh) | 基于dns查询的软件版本升级方法及装置 | |
CN113965392B (zh) | 恶意服务器检测方法、系统、可读介质及电子设备 | |
CN115442329A (zh) | 域名信息查询方法、系统、装置、设备及存储介质 | |
CN114731338B (zh) | 一种用于域名系统服务器的负载的控制的系统和方法 | |
CN115002079B (zh) | 短地址生成方法、装置、设备及存储介质 | |
US7512709B2 (en) | Address restriction method, address restriction program, and address restriction apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |