一种域名系统dns解析方法及装置的利记博彩app

文档序号:7748031阅读:199来源:国知局
专利名称:一种域名系统dns解析方法及装置的利记博彩app
技术领域
本发明涉及移动通讯领域,特别是涉及一种域名系统(Domain Name System,简称为DNS)解析方法及装置。
背景技术
在计算机通信网络中,域名(Domain Name,简称为DN)(形如www. baidu. com)与网络协议(Internet Protocol,简称为IP)地址(形如61. 135. 169. 105)之间存在一对一或者多对一的映射关系。用户通常使用便于记忆的域名访问网络上的计算机,但计算机间却必须使用IP地址进行数据通信。因此,通信网络中需要存在为用户提供域名到IP地址转换的服务系统,该服务系统称为域名解析系统或DNS。为用户提供这种转换服务的主机,称为DNS服务器。域名到IP地址的转换过程,称为DNS解析或地址解析。以用户通过因特网(Internet)访问百度(www. baidu. com)为例当操作系统收到用户的浏览请求后,首先向DNS服务器发送查询报文,询问棚.baidu. com所对应的IP地址。当操作系统收到DNS服务器的应答包后,先解析出誦.baidu. com所对应的IP地址, 再与这个IP地址进行网络通信,用户方可正常访问百度网站了。大型企业在部署其内部网络时,为保证网络的易用性和易维护性,通常采用域名系统来部署服务器。用户指定网络上的某台主机作为DNS服务器,通过DNS服务器进行DNS 解析,而不是直接在本机进行解析。但在某些特殊情况下,远程DNS服务器提供的解析服务可能无法满足用户需求,这些情况包括1、用户需要将域名解析为某个特定地址,而DNS服务器无法正确进行这种解析;2、用户没有指定DNS服务器,又必须进行DNS解析;3、用户需要解析的域名地址,没有在DNS服务器上登记;4、其它一些特殊情况。因此,用户需要一种能够在本地进行DNS解析的技术,在上述特殊情况下进行DNS地址解析。在现有技术中,主流操作系统均内置有本地DNS解析的解决方案。图1是现有技术中操作系统内置配置文件的本地DNS解析处理流程图,如图1所示,这种方案通常是在操作系统中内置一个域名到IP地址对应关系列表的配置文件。当操作系统需要对某个域名进行DNS解析时,首先在此配置文件中检索该域名,如检索成功,则直接将该域名对应的IP 地址作为DNS解析结果返回;如检索失败,再向DNS服务器发送DNS解析请求。此外,用户还可以手动或程序修改该配置文件,将自定义的域名-IP地址对应关系写入该文件,实现对特定域名的本地DNS解析。在Windows操作系统中,该域名到IP地址对应关系配置文件为\windows\system32\drivers\etc目录下的hosts文件。但是,上述技术方案由于域名到IP地址对应关系配置文件为系统核心文件,因此在安全性要求较高的系统中,通常禁止修改此文件;此外修改该配置文件通常会触发防病毒软件,造成修改失败;用户只能明确指定域名到IP地址对应关系,而不能定义复杂的本地DNS解析策略。例如,“除news. sina. com外的所有sina. com 二级域名(形如*· sina. com)均解析为127. 0. 0. 1”这样的解析策略,是无法通过修改配置文件实现的;并且,由于修改配置文件属于文件操作,因此高频次的动态修改此文件,会影响系统性能。
在现有技术中,还可以通过在本地安装DNS服务器,实现本机DNS解析。在此技术方案中,图2是现有技术中本地安装DNS服务器的本地DNS解析处理流程图,如图2所示, 用户首先在本地安装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解析装置,包括网络数据过滤模块,用于对本机DNS解析请求包进行过滤,将符合预先设置的本地DNS解析策略的本机DNS解析请求包转发到本机DNS解析模块,将不符合本地DNS解析策略的本机DNS解析请求包转发到操作系统底层模块;本机DNS解析模块,用于对接收的本机DNS解析请求包进行解析,获取解析结果, 并将解析结果携带在本机DNS解析应答包中发送给操作系统底层模块。本发明有益效果如下通过网络数据过滤模块过滤本机DNS解析请求包,将符合本机DNS解析策略的请求数据转发到本机DNS解析模块进行处理,解决了现有技术中本地DNS解析时间长,且不能够定义复杂的本地DNS解析策略的问题,本发明实施例由于使用网络数据过滤模块对DNS 请求数据进行过滤,因此能够实现复杂的DNS解析策略;由于网络数据过滤模块可直接转发不符合本机DNS解析策略的数据包,因此可提高DNS解析速度;由于网络数据过滤模块无需监听端口,因此与本机已安装的DNS服务器软件不会存在冲突;此外,无需修改域名到IP 地址对应关系配置文件,不会触发防病毒软件动作,并可提高本地DNS解析的执行效率。


图1是现有技术中操作系统内置配置文件的本地DNS解析处理流程图;图2是现有技术中本地安装DNS服务器的本地DNS解析处理流程图;图3是本发明实施例的DNS解析方法的流程5
图4是本发明实施例的DNS解析方法的详细处理流程图;图5是本发明实施例的DNS解析策略配置更新的流程图;图6是本发明实施例的DNS解析装置的结构示意图。
具体实施例方式为了解决现有技术中本地DNS解析时间长,且不能够定义复杂的本地DNS解析策略的问题,本发明提供了一种DNS解析方法及装置,即,在企业内部网络中实现本机DNS解析的技术方案。该技术方案通过网络数据过滤模块过滤本机DNS解析请求包,将符合本机 DNS解析策略的请求数据转发到本机DNS解析模块。本机DNS解析模块收到转发的DNS解析请求数据后,直接将解析结果写回操作系统,完成DNS解析的流程。如果DNS请求数据不符合本机DNS解析策略,则网络数据过滤模块直接将此数据发送给操作系统底层模块,从而提高非本地DNS解析的解析速度。以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。方法实施例根据本发明的实施例,提供了一种DNS解析方法,图3是本发明实施例的DNS解析方法的流程图,如图3所示,根据本发明实施例的DNS解析方法包括如下处理步骤301,网络数据过滤模块对本机DNS解析请求包进行过滤,将符合预先设置的本地DNS解析策略的本机DNS解析请求包转发到本机DNS解析模块,将不符合本地DNS解析策略的本机DNS解析请求包转发到操作系统底层模块;在执行步骤301之前,本机DNS解析模块需要设置监听端口并将监听端口和本地 DNS解析策略置入网络数据过滤模块。在步骤301中,网络数据过滤模块需要根据本地DNS解析策略对本机DNS解析请求包进行过滤,即,判断本机DNS解析请求包是否需要进行本地DNS解析;在确定本机DNS 解析请求包需要进行本地处理的情况下,网络数据过滤模块将本机DNS解析请求包的原目的地址修改为本机地址,并将本机DNS解析请求包的原目的端口修改为本机DNS解析模块设置的监听端口,并将本机DNS解析请求包转发给本机DNS解析模块;随后,为了方便后续的查询,网络数据过滤模块将本机DNS解析请求包的源端口、原目的地址、以及原目的端口进行保存。 步骤302,本机DNS解析模块对接收的本机DNS解析请求包进行解析,获取解析结果,并将解析结果携带在本机DNS解析应答包中发送给操作系统底层模块。在步骤302中,本机DNS解析模块需要根据用户定义的域名与网络协议IP地址对应关系,将本机DNS解析请求包中的域名地址解析为对应的IP地址;随后,本机DNS解析模块根据本机DNS解析请求包中的源端口,向网络数据过滤模块查询本机DNS解析请求包的原目的地址、以及原目的端口 ;最后,本机DNS解析模块根据解析后的IP地址、原目的地址、 以及原目的端口构造本机DNS解析应答包,并通过原始套接字将本机DNS解析应答包发送给操作系统底层模块。在实际应用中,可以对本地DNS解析策略进行扩展,具体地本机DNS解析模块接收DNS策略服务器分发的当前本地DNS解析策略;本机DNS解析模块根据当前本地DNS解析策略对原本地DNS解析策略进行更新,并将更新后的本地DNS解析策略置入网络数据过滤模块。下面结合附图,以Windows系统为例,对本发明实施例的技术方案进行详细说明。在Windows系统中,网络数据过滤模块为传输驱动程序接口过滤器(Transport Driver Interface Filter,简称为TDI Filter)。图4是本发明实施例的DNS解析方法的详细处理流程图,如图4所示,包括如下处理TDI Filter作为网络数据过滤模块在Windows操作系统上的实现,主要完成网络数据的过滤、匹配及转发工作。当操作系统发出DNS解析请求后,TDI Filter会截获该请求数据,并根据预置其内部的DNS解析策略,判断是否需要进行本地解析。如无需进行本地解析,则TDI Filter会直接将该数据转发给操作系统底层模块进行后续处理;如需要进行本地解析,则TDI Filter会修改该请求数据的目的地址和端口,将其转发给DNS本地解析模块。DNS本地解析模块(即,上述本机DNS解析模块)主要是接收TDI Filter转发到 DNS解析请求数据,并根据用户定义的域名到IP地址对应关系,将请求解析的域名地址转换成IP地址,然后根据解析结果构造一个DNS解析应答包,通过原始套接字(RAW Socket) 写回给操作系统。在本实例中,DNS本地解析模块启动后会首先在本机监听某个UDP端口。该UDP端口可预先约定,也可由DNS本地解析模块启动时随机选定。当DNS本地解析模块启动成功后,会将UDP端口号(UDP 53)和本地DNS解析策略置入 TDI Filter。当TDI Filter接收到DNS本地解析模块置入的UDP端口号和本地DNS解析策略后,即认为DNS本地解析模块已启动成功,可以开启本地DNS解析功能。自此后,TDI Filter 即开始过滤流经UDP 53端口上的所有数据。当TDI Filter截获到流经UDP 53端口的数据后,首先根据网络协议类型和端口号,判断该数据是否为DNS解析请求数据。如否,则调用TDI Filter发送函数,将数据转发操作系统底层组件进行后续处理。如为DNS解析请求数据,则根据置入的本地DNS解析策略,判断是否为符合本地DNS解析策略的数据。如否,则调用TDI Filter发送函数,将数据转发操作系统底层组件进行后续处理。当TDI Filter截获到符合本地DNS解析策略的DNS解析请求数据后,则修改该请求数据的目的地址和目的端口。将目的地址修改为本机地址,目的端口设置为DNS本地解析模块的监听端口,然后调用TDI Filter发送函数,将数据转发操作系统底层组件进行后续处理。TDI Filter同时会将该数据包的源端口,原始目的地址和原始目的端口保存备查。被TDI Filter修改并经操作系统处理后的DNS解析请求数据,最终会被DNS本地解析模块收到。DNS本地解析模块在分析请求数据后,提取需要解析的域名地址,并根据用户预置的域名到IP的对应关系,取得该域名对应的IP地址。当DNS本地解析模块完成域名解析后,会根据DNS解析请求数据的源端口,向TDI Filter查询该请求数据的原始目的地址和原始目的端口。在查询成功后,会根据原始目的地址,原始目的端口,解析后的IP地址等数据,构造一个完整的DNS解析请求回应包,通过 RAW Socket写回系统,完成本地DNS解析流程。在上述实例中,DNS解析策略是预置的,是不可更改的。但是,对于某些复杂的企业内部网络,静态的DNS解析策略可能无法满足其需要。因此,可对本发明实施例进行扩展, 对DNS解析策略进行远程部署和管理。图5是本发明实施例的DNS解析策略配置更新的流程图,如图5所示首先,管理员通过DNS策略服务器,编辑DNS解析策略,在形成DNS解析策略文件后,通过DNS策略服务器分发此策略文件。DNS本地解析模块在收到DNS策略服务器分发的DNS解析策略文件后,会实时更新其DNS解析策略,并将策略写入TDI Filter中。通过在企业内部DNS策略服务器,可以对用户的本地DNS解析策略进行远程管理和更新,提高可管理性和易用性。需要说明的是,本地DNS解析策略所包含的内容是将预定类型的域名作本地DNS解析,或者,将预定类型的域名作外部DNS解析。综上所述,本发明实施例提出一种在企业内部网络中实现本地DNS解析的技术方案。与已有技术不同,本发明实施例通过在操作系统中插入网络数据过滤模块(本发明以 Windows TDI Filter为例),将符合本地DNS解析策略的DNS解析请求数据转发给DNS本地解析模块。在DNS本地解析模块完成DNS解析后,再通过RAW Socket将解析结果写回系统,实现本地DNS解析。在本发明中,网络数据过滤模块在截获到DNS解析请求数据后,可根据用户设置的本地DNS解析策略确定是否需要将请求数据转发给DNS本地解析模块,从而实现复杂的本地DNS解析策略。例如,用户可以将本地DNS解析策略设置为“所有域名均作本地DNS 解析,只有形如*. sina. com的域名进行外部DNS解析”。在本发明实施例中,网络数据过滤模块在匹配本地DNS解析策略后,如判断为非本地DNS解析请求数据,则直接将DNS请求数据发送给操作系统底层模块进行后续处理。与已有技术方案相比,本发明无需为非本地DNS请求数据给出DNS解析错误的回应数据,从而加快非本地DNS解析的解析速度。此外,在本发明实施例中,本地DNS解析规则可以预先指定,也可以由DNS策略管理器远程发布。需要说明的是,在本发明实施例中,以Windows操作系统为例,描述了本发明实施例的处理流程。但本发明实施例并不局限于Windows操作系统。装置实施例根据本发明的实施例,提供了一种DNS解析装置,图6是本发明实施例的DNS解析装置的结构示意图,如图6所示,根据本发明实施例的DNS解析装置包括网络数据过滤模块60、本机DNS解析模块62,以下对本发明实施例的各个模块进行详细的说明。网络数据过滤模块60用于对本机DNS解析请求包进行过滤,将符合预先设置的本地DNS解析策略的本机DNS解析请求包转发到本机DNS解析模块62,将不符合本地DNS解析策略的本机DNS解析请求包转发到操作系统底层模块;网络数据过滤模块60具体用于根据本地DNS解析策略对本机DNS解析请求包进行过滤,判断本机DNS解析请求包是否需要进行本地DNS解析;在确定本机DNS解析请求包需要进行本地处理的情况下,将本机DNS解析请求包的原目的地址修改为本机地址,并将本机DNS解析请求包的原目的端口修改为本机DNS解析模块的监听端口,并将本机DNS解析请求包转发给本机DNS解析模块62 ;将本机DNS解析请求包的源端口、原目的地址、以及原目的端口进行保存。本机DNS解析模块62用于对接收的本机DNS解析请求包进行解析,获取解析结果,并将解析结果携带在本机DNS解析应答包中发送给操作系统底层模块。本机DNS解析模块62具体用于根据用户定义的域名与网络协议IP地址对应关系,将本机DNS解析请求包中的域名地址解析为对应的IP地址;根据本机DNS解析请求包中的源端口,向网络数据过滤模块查询本机DNS解析请求包的原目的地址、以及原目的端口 ;根据解析后的IP地址、原目的地址、以及原目的端口构造本机DNS解析应答包,并通过原始套接字将本机DNS解析应答包发送给操作系统底层模块。本发明实施例的DNS解析装置还包括设置模块,用于设置监听端口,并将监听端口和本地DNS解析策略置入网络数据过滤模块。更新模块,用于接收DNS策略服务器分发的当前本地DNS解析策略,并根据当前本地DNS解析策略对原本地DNS解析策略进行更新,将更新后的本地DNS解析策略置入网络数据过滤模块。下面结合附图,以Windows系统为例,对本发明实施例的技术方案进行详细说明。在Windows系统中,网络数据过滤模块60为传输驱动程序接口过滤器(Transport Driver Interface Filter,简称为TDI Filter)。如图4所示,包括如下处理TDI Filter作为网络数据过滤模块60在Windows操作系统上的实现,主要完成网络数据的过滤、匹配及转发工作。当操作系统发出DNS解析请求后,TDI Filter会截获该请求数据,并根据预置其内部的DNS解析策略,判断是否需要进行本地解析。如无需进行本地解析,则TDI Filter会直接将该数据转发给操作系统底层模块进行后续处理;如需要进行本地解析,则TDI Filter会修改该请求数据的目的地址和端口,将其转发给本机DNS解析模块62。本机DNS解析模块62主要是接收TDI Filter转发到DNS解析请求数据,并根据用户定义的域名到IP地址对应关系,将请求解析的域名地址转换成IP地址,然后根据解析结果构造一个DNS解析应答包,通过原始套接字(RAW Socket)写回给操作系统。在本实例中,本机DNS解析模块62启动后会首先在本机监听某个UDP端口。该 UDP端口可预先约定,也可由本机DNS解析模块62启动时随机选定。当本机DNS解析模块62启动成功后,会将UDP端口号(UDP 53)和本地DNS解析策略置入TDI Filter。当TDI Filter接收到本机DNS解析模块62置入的UDP端口号和本地DNS解析策略后,即认为本机DNS解析模块62已启动成功,可以开启本地DNS解析功能。自此后,TDI Filter即开始过滤流经UDP 53端口上的所有数据。当TDI Filter截获到流经UDP 53端口的数据后,首先根据网络协议类型和端口号,判断该数据是否为DNS解析请求数据。如否,则调用TDI Filter发送函数,将数据转发操作系统底层组件进行后续处理。如为DNS解析请求数据,则根据置入的本地DNS解析策略,判断是否为符合本地DNS解析策略的数据。如否,则调用TDI Filter发送函数,将数据转发操作系统底层组件进行后续处理。当TDI Filter截获到符合本地DNS解析策略的DNS解析请求数据后,则修改该请求数据的目的地址和目的端口。将目的地址修改为本机地址,目的端口设置为DNS本地解析模块的监听端口,然后调用TDI Filter发送函数,将数据转发操作系统底层组件进行后续处理。TDI Filter同时会将该数据包的源端口,原始目的地址和原始目的端口保存备查。被TDI Filter修改并经操作系统处理后的DNS解析请求数据,最终会被本机DNS 解析模块62收到。本机DNS解析模块62在分析请求数据后,提取需要解析的域名地址,并根据用户预置的域名到IP的对应关系,取得该域名对应的IP地址。当本机DNS解析模块62完成域名解析后,会根据DNS解析请求数据的源端口,向 TDI Filter查询该请求数据的原始目的地址和原始目的端口。在查询成功后,会根据原始目的地址,原始目的端口,解析后的IP地址等数据,构造一个完整的DNS解析请求回应包, 通过RAW Socket写回系统,完成本地DNS解析流程。在上述实例中,DNS解析策略是预置的,是不可更改的。但是,对于某些复杂的企业内部网络,静态的DNS解析策略可能无法满足其需要。因此,可对本发明实施例进行扩展, 对DNS解析策略进行远程部署和管理。如图5所示首先,管理员通过DNS策略服务器,编辑DNS解析策略,在形成DNS解析策略文件后,通过DNS策略服务器分发此策略文件。本机 DNS解析模块62在收到DNS策略服务器分发的DNS解析策略文件后,会实时更新其DNS解析策略,并将策略写入TDI Filter中。通过在企业内部DNS策略服务器,可以对用户的本地DNS解析策略进行远程管理和更新,提高可管理性和易用性。需要说明的是,本地DNS解析策略所包含的内容是将预定类型的域名作本地DNS解析,或者,将预定类型的域名作外部DNS解析。综上所述,本发明实施例提出一种在企业内部网络中实现本地DNS解析的技术方案。与已有技术不同,本发明实施例通过在操作系统中插入网络数据过滤模块60(本发明以Windows TDI Filter为例),将符合本地DNS解析策略的DNS解析请求数据转发给本机 DNS解析模块62。在本机DNS解析模块62完成DNS解析后,再通过RAW Socket将解析结果写回系统,实现本地DNS解析。在本发明中,网络数据过滤模块60在截获到DNS解析请求数据后,可根据用户设置的本地DNS解析策略确定是否需要将请求数据转发给本机DNS解析模块62,从而实现复杂的本地DNS解析策略。例如,用户可以将本地DNS解析策略设置为“所有域名均作本地 DNS解析,只有形如*. sina. com的域名进行外部DNS解析”。在本发明实施例中,网络数据过滤模块60在匹配本地DNS解析策略后,如判断为非本地DNS解析请求数据,则直接将DNS请求数据发送给操作系统底层模块进行后续处理。 与已有技术方案相比,本发明无需为非本地DNS请求数据给出DNS解析错误的回应数据,从而加快非本地DNS解析的解析速度。此外,在本发明实施例中,本地DNS解析规则可以预先指定,也可以由DNS策略管理器远程发布。需要说明的是,在本发明实施例中,以Windows操作系统为例,描述了本发明实施例的处理流程。但本发明实施例并不局限于Windows操作系统。本发明实施例通过网络数据过滤模块过滤本机DNS解析请求包,将符合本机DNS 解析策略的请求数据转发到本机DNS解析模块进行处理,解决了现有技术中本地DNS解析时间长,且不能够定义复杂的本地DNS解析策略的问题,本发明实施例由于使用网络数据过滤模块对DNS请求数据进行过滤,因此能够实现复杂的DNS解析策略;由于网络数据过滤模块可直接转发不符合本机DNS解析策略的数据包,因此可提高DNS解析速度;由于网络数据过滤模块无需监听端口,因此与本机已安装的DNS服务器软件不会存在冲突;此外,无需修改域名到IP地址对应关系配置文件,不会触发防病毒软件动作,并可提高本地DNS解析的执行效率。 尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
权利要求
1.一种域名系统DNS解析方法,其特征在于,包括网络数据过滤模块对本机DNS解析请求包进行过滤,将符合预先设置的本地DNS解析策略的本机DNS解析请求包转发到本机DNS解析模块,将不符合所述本地DNS解析策略的本机DNS解析请求包转发到操作系统底层模块;所述本机DNS解析模块对接收的所述本机DNS解析请求包进行解析,获取解析结果,并将所述解析结果携带在本机DNS解析应答包中发送给所述操作系统底层模块。
2.如权利要求1所述的方法,其特征在于,所述网络数据过滤模块对本机DNS解析请求包进行过滤,将符合预先设置的本地DNS解析策略的本机DNS解析请求包转发到本机DNS 解析模块具体包括所述网络数据过滤模块根据所述本地DNS解析策略对所述本机DNS解析请求包进行过滤,判断所述本机DNS解析请求包是否需要进行本地DNS解析;在确定所述本机DNS解析请求包需要进行本地处理的情况下,所述网络数据过滤模块将所述本机DNS解析请求包的原目的地址修改为本机地址,并将所述本机DNS解析请求包的原目的端口修改为所述本机DNS解析模块设置的监听端口,并将所述本机DNS解析请求包转发给所述本机DNS解析模块;所述网络数据过滤模块将所述本机DNS解析请求包的源端口、所述原目的地址、以及所述原目的端口进行保存。
3.如权利要求2所述的方法,其特征在于,所述本机DNS解析模块对接收的所述本机 DNS解析请求包进行解析,获取解析结果,并将所述解析结果携带在本机DNS解析应答包中发送给所述操作系统底层模块具体包括所述本机DNS解析模块根据用户定义的域名与网络协议IP地址对应关系,将所述本机 DNS解析请求包中的域名地址解析为对应的IP地址;所述本机DNS解析模块根据所述本机DNS解析请求包中的所述源端口,向所述网络数据过滤模块查询所述本机DNS解析请求包的所述原目的地址、以及所述原目的端口 ;所述本机DNS解析模块根据解析后的所述IP地址、所述原目的地址、以及所述原目的端口构造所述本机DNS解析应答包,并通过原始套接字将所述本机DNS解析应答包发送给所述操作系统底层模块。
4.如权利要求1所述的方法,其特征在于,所述网络数据过滤模块对本机DNS解析请求包进行过滤之前,所述方法还包括所述本机DNS解析模块设置监听端口 ;所述本机DNS解析模块将所述监听端口和所述本地DNS解析策略置入所述网络数据过滤模块。
5.如权利要求1所述的方法,其特征在于,所述方法还包括所述本机DNS解析模块接收DNS策略服务器分发的当前本地DNS解析策略;所述本机DNS解析模块根据所述当前本地DNS解析策略对原本地DNS解析策略进行更新,并将更新后的所述本地DNS解析策略置入所述网络数据过滤模块。
6.一种域名系统DNS解析装置,其特征在于,包括网络数据过滤模块,用于对本机DNS解析请求包进行过滤,将符合预先设置的本地DNS 解析策略的本机DNS解析请求包转发到本机DNS解析模块,将不符合所述本地DNS解析策略的本机DNS解析请求包转发到操作系统底层模块;所述本机DNS解析模块,用于对接收的所述本机DNS解析请求包进行解析,获取解析结果,并将所述解析结果携带在本机DNS解析应答包中发送给所述操作系统底层模块。
7.如权利要求6所述的装置,其特征在于,所述网络数据过滤模块具体用于 根据所述本地DNS解析策略对所述本机DNS解析请求包进行过滤,判断所述本机DNS解析请求包是否需要进行本地DNS解析;在确定所述本机DNS解析请求包需要进行本地处理的情况下,将所述本机DNS解析请求包的原目的地址修改为本机地址,并将所述本机DNS解析请求包的原目的端口修改为所述本机DNS解析模块的监听端口,并将所述本机DNS解析请求包转发给所述本机DNS解析模块;将所述本机DNS解析请求包的源端口、所述原目的地址、以及所述原目的端口进行保存。
8.如权利要求7所述的装置,其特征在于,所述本机DNS解析模块具体用于根据用户定义的域名与网络协议IP地址对应关系,将所述本机DNS解析请求包中的域名地址解析为对应的IP地址;根据所述本机DNS解析请求包中的所述源端口,向所述网络数据过滤模块查询所述本机DNS解析请求包的所述原目的地址、以及所述原目的端口 ;根据解析后的所述IP地址、所述原目的地址、以及所述原目的端口构造所述本机DNS 解析应答包,并通过原始套接字将所述本机DNS解析应答包发送给所述操作系统底层模块。
9.如权利要求6所述的装置,其特征在于,所述装置还包括设置模块,用于设置监听端口,并将所述监听端口和所述本地DNS解析策略置入所述网络数据过滤模块。
10.如权利要求6所述的装置,其特征在于,所述装置还包括更新模块,用于接收DNS策略服务器分发的当前本地DNS解析策略,并根据所述当前本地DNS解析策略对原本地DNS解析策略进行更新,将更新后的所述本地DNS解析策略置入所述网络数据过滤模块。
全文摘要
本发明公开了一种DNS解析方法及装置。该方法包括网络数据过滤模块对本机DNS解析请求包进行过滤,将符合预先设置的本地DNS解析策略的本机DNS解析请求包转发到本机DNS解析模块,将不符合本地DNS解析策略的本机DNS解析请求包转发到操作系统底层模块;本机DNS解析模块对接收的本机DNS解析请求包进行解析,获取解析结果,并将解析结果携带在本机DNS解析应答包中发送给操作系统底层模块。借助于本发明的技术方案,能够实现复杂的DNS解析策略。
文档编号H04L29/12GK102263837SQ20111022844
公开日2011年11月30日 申请日期2011年8月10日 优先权日2011年8月10日
发明者何超, 申锟铠, 罗元, 邓辉 申请人:北京天融信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1