通过域名服务提供者进行dns重定向的方法和装置的制作方法

文档序号:7859178阅读:142来源:国知局
专利名称:通过域名服务提供者进行dns重定向的方法和装置的制作方法
技术领域
本发明涉及ー种DNS劫持技木,尤其涉及在客户端针对应用程序的DNS重定向技术。
背景技术
DNS劫持/重定向技术是指介入域名解析过程,在解析某个域名时,可以返回自己指定的地址,这项技术可以用于网页加速。最常见的手段是把想重定向的域名和指定的地址写入hosts文件中,这是ー种基本但是不灵活的方法,也容易被安全软件阻止。
还有ー种方法是在本机抓取DNS请求包,然后分析,并伪造回应包。这种方法比较灵活,但是无法区分是哪个应用程序发出的请求。可以区分应用程序的已知方案是实现ー个NSP (域名服务提供者,NamespaceService Provider),安装后禁用系统原有的NS DNS类型的NSP。这个方案的不足之处是需要禁用原有NSP,如果新安装的NSP文件丢失或者和其它第三方NSP冲突,很容易导致系统中没有可用于解析DNS的NSP,最终是用户无法正常上网。

发明内容
本发明的目的在于解决上述问题,提供了一种通过域名服务提供者进行DNS重定向的方法,避免了禁用系统原有NSP而导致的无法上网的问题。本发明的目的在于提供了一种通过域名服务提供者进行DNS重定向的装置,避免了禁用系统原有NSP而导致的无法上网的问题。本发明的技术方案为本发明掲示了一种通过域名服务提供者进行DNS重定向的方法,包括网络应用程序调用域名解析API ;域名解析API内部调用多个域名服务提供者,其中用于DNS重定向的第一域名服务提供者的安装位置位于系统原有的域名服务提供者的上方相邻位置,用于DNS重定向的第二域名服务提供者的安装位置位于系统原有的域名服务提供者的下方相邻位置;域名解析API对各个域名服务提供者返回的结果做排序,此时第一域名服务提供者返回的结果或者第二域名服务提供者返回的结果在系统原有的域名服务提供者返回的结果之前;网络应用程序得到位于系统原有的域名服务提供者返回的结果之前的第一域名服务提供者或者第二域名服务提供者的返回結果。根据本发明的通过域名服务提供者进行DNS重定向的方法的ー实施例,域名解析API根据域名服务提供者的安装顺序的升序对各个域名服务提供者返回的结果进行排序。根据本发明的通过域名服务提供者进行DNS重定向的方法的ー实施例,域名解析API根据域名服务提供者的安装顺序的降序对各个域名服务提供者返回的结果进行排序。
根据本发明的通过域名服务提供者进行DNS重定向的方法的ー实施例,该方法在支持IPv6的系统上运行时,域名服务提供者在返回IPv4地址时先将IPv4地址转化为IPv6地址后再返回。本发明还掲示了一种通过域名服务提供者进行DNS重定向的装置,包括API调用模块,由网络应用程序调用域名解析API ;域名服务提供者调用模块,连接API调用模块,域名解析API内部调用多个域名服务提供者,其中用于DNS重定向的第一域名服务提供者的安装位置位于系统原有的域名服务提供者的上方相邻位置,用于DNS重定向的第二域名服务提供者的安装位置位于系统原有的域名服务提供者的下方相邻位置;排序模块,连接域名服务提供者调用模块,域名解析API对各个域名服务提供者返回的结果做排序,此时第一域名服务提供者返回的结果或者第二域名服务提供者返回的结果在系统原有的域名服务提供者返回的结果之前; 重定向地址返回模块,连接排序模块,网络应用程序得到位于系统原有的域名服务提供者返回的结果之前的第一域名服务提供者或者第二域名服务提供者的返回結果。根据本发明的通过域名服务提供者进行DNS重定向的装置的ー实施例,在排序模块中,域名解析API根据域名服务提供者的安装顺序的升序对各个域名服务提供者返回的结果进行排序。根据本发明的通过域名服务提供者进行DNS重定向的装置的ー实施例,在排序模块中,域名解析API根据域名服务提供者的安装顺序的降序对各个域名服务提供者返回的结果进行排序。根据本发明的通过域名服务提供者进行DNS重定向的装置的ー实施例,该装置在支持IPv6的系统上运行时,域名服务提供者在返回IPv4地址时先将IPv4地址转化为IPv6地址后再返回。本发明对比现有技术有如下的有益效果本发明的方案是安装两个NSP,分别位于原有NS DNS类型的NSP的上方和下方,并且在支持IPv6的系统运行,如果要返回IPv4地址则将地址转化为IPv6后返回,这样可以保证无论升序或降序,后安装的两个NSP都可以排在最前和最后。相较于现有技术,本发明既保留了系统原有的NSP,又能够实现重定向以用于网络加速,是ー种安全有效的DNS重定向方案。


图I示出了本发明的通过域名服务提供者进行DNS重定向的方法的较佳实施例的流程图。图2示出了本发明的通过域名服务提供者进行DNS重定向的装置的较佳实施例的结构图。图3示出了本发明的通过域名服务提供者进行DNS重定向的方法的示例图。
具体实施例方式下面结合附图和实施例对本发明作进ー步的描述。通过域名服务提供者讲行DNS重定向的方法的实施例
图I示出了本发明的通过域名服务提供者进行DNS重定向的方法的较佳实施例的流程。请參见图1,本实施例的方法的实施步骤详述如下。步骤SlO :网络应用程序调用域名解析API。Windows网络应用程序解析域名一般调用WinSock API函数,这类函数有多个,都能获得相同的地址集合,但是顺序可能不一样。步骤S12 :域名解析API内部调用多个域名服务提供者(NSP),其中用于DNS重定向的第一域名服务提供者的安装位置位于系统原有的域名服务提供者的上方相邻位置,用于DNS重定向的第二域名服务提供者的安装位置位于系统原有的域名服务提供者的下方相邻位置。步骤S14:域名解析API对各个域名服务提供者返回的结果做排序,此时第一域名服务提供者返回的结果或者第二域名服务提供者返回的结果在系统原有的域名服务提供 者返回的结果之前。例如,域名解析API根据域名服务提供者的安装顺序的升序对各个域名服务提供者返回的结果进行排序,或者域名解析API根据域名服务提供者的安装顺序的降序对各个域名服务提供者返回的结果进行排序。解析域名的API内部会调用NS DNS类型的NSP,这种NSP可能有多个,他们可能返回不同的结果集,然后API对各个NSP返回的结果集做排序,排序的算法有两个1、根据NSP安装顺序升序或降序,即两个API返回的结果顺序可能是相反的。2、支持IPv6的系统上,IPv6地址会排在IPv4地址之前。DNS解析后可能有多个地址,但应用程序一般采用集合中的第一个。所以要实现重定向只需把自己的结果放在最前。但是各个API的排除算法不同,可能刚好相反。应用程序可能使用不同的解析API,所以如果有多个NSP,可能对某些程序可以重定向,对某些又不行,所以现有方法干脆禁用其它NS DNS类型的NSP,保证只有自己返回的結果。本发明的做法是安装两个NSP,分别位于在原有NS DNS类型的NSP的上方和下方,并且如果在支持IPv6的系统上如果要返回IPv4地址应该把地址转化为IPv6返回,这样可以保证无论升序或降序,自设的NSP都可以排在最前和最后。此外,若本方法在支持IPv6的系统上运行时,域名服务提供者在返回IPv4地址时先将IPv4地址转化为IPv6地址后再返回。步骤S16 :网络应用程序得到位于系统原有的域名服务提供者返回的结果之前的第一域名服务提供者或者第二域名服务提供者的返回結果。通过域名服务提供者讲行DNS重定向的装置的实施例图2示出了本发明的通过域名服务提供者进行DNS重定向的装置的较佳实施例的结构图。请參见图2,本实施例的装置包括依序连接的API调用模块10、域名服务提供者调用模块12、排序模块14以及重定向地址返回模块16。API调用模块IO由网络应用程序调用域名解析API。域名服务提供者调用模块12中,域名解析API内部调用多个域名服务提供者,其中用于DNS重定向的第一域名服务提供者的安装位置位于系统原有的域名服务提供者的上方相邻位置,用于DNS重定向的第二域名服务提供者的安装位置位于系统原有的域名服务提供者的下方相邻位置。
排序模块14中,域名解析API对各个域名服务提供者返回的结果做排序,此时第一域名服务提供者返回的结果或者第二域名服务提供者返回的结果在系统原有的域名服务提供者返回的结果之前。在排序模块14中,域名解析API根据域名服务提供者的安装顺序的升序或降序对各个域名服务提供者返回的结果进行排序。本实施例的装置在支持IPv6的系统上运行时,域名服务提供者在返回IPv4地址时先将IPv4地址转化为IPv6地址后再返回。重定向地址返回模块16中,网络应用程序得到位于系统原有的域名服务提供者返回的结果之前的第一域名服务提供者或者第二域名服务提供者的返回結果。通过域名服务提供者进行DNS重定向的方法的示例图3示出了本发明的通过域名服务提供者进行DNS重定向的方法的示例。请參见图3,是使用DNS重定向做针对某浏览器和某网站的加速。假设要加速的浏览器是IE,要加谏的网站是http: //download, microsoft. com/。 还要架设一台加速服务器,上面部署的是⑶N的服务程序,假设IP是I. 2. 3. 4。用于重定向的NSP是ー个动态链接库(MyNSP. dll ),安装时在系统原来的NSP顶层和底层各安装ー个NSP,都指向MyNSP. dll。MyNSP. dll里面检查了加载它的进程名,发现不是iexplore. exe就忽略,是的话继续。iexplore. exe会调用API查询域名,过程会经过MyNSP. dll两次(因为本示例中安装了 2个NSP),检查查询的域名是否为download, microsoft. com,如果不是则忽略,是继续。返回加速服务器的地址1.2. 3. 4,如果在支持IPv6的系统上,应该返回IPv6形式的地址,即::ffff:l. 2. 3.4。经过API排序,无论正序、反序,返回的结果都是自设的NSP返回的结果都被排在最前,浏览器会采用自设NSP的結果,如果自设NSP不返回,则浏览器采用默认的結果。上述实施例是提供给本领域普通技术人员来实现和使用本发明的,本领域普通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书所提到的创新性特征的最大范围。
权利要求
1.一种通过域名服务提供者进行DNS重定向的方法,包括 网络应用程序调用域名解析API ; 域名解析API内部调用多个域名服务提供者,其中用于DNS重定向的第一域名服务提供者的安装位置位于系统原有的域名服务提供者的上方相邻位置,用于DNS重定向的第二域名服务提供者的安装位置位于系统原有的域名服务提供者的下方相邻位置; 域名解析API对各个域名服务提供者返回的结果做排序,此时第一域名服务提供者返回的结果或者第二域名服务提供者返回的结果在系统原有的域名服务提供者返回的结果之前; 网络应用程序得到位于系统原有的域名服务提供者返回的结果之前的第一域名服务提供者或者第二域名服务提供者的返回结果。
2.根据权利要求I所述的通过域名服务提供者进行DNS重定向的方法,其特征在于,域名解析API根据域名服务提供者的安装顺序的升序对各个域名服务提供者返回的结果进行排序。
3.根据权利要求I所述的通过域名服务提供者进行DNS重定向的方法,其特征在于,域名解析API根据域名服务提供者的安装顺序的降序对各个域名服务提供者返回的结果进行排序。
4.根据权利要求I所述的通过域名服务提供者进行DNS重定向的方法,其特征在于,该方法在支持IPv6的系统上运行时,域名服务提供者在返回IPv4地址时先将IPv4地址转化为IPv6地址后再返回。
5.一种通过域名服务提供者进行DNS重定向的装置,包括 API调用模块,由网络应用程序调用域名解析API ; 域名服务提供者调用模块,连接API调用模块,域名解析API内部调用多个域名服务提供者,其中用于DNS重定向的第一域名服务提供者的安装位置位于系统原有的域名服务提供者的上方相邻位置,用于DNS重定向的第二域名服务提供者的安装位置位于系统原有的域名服务提供者的下方相邻位置; 排序模块,连接域名服务提供者调用模块,域名解析API对各个域名服务提供者返回的结果做排序,此时第一域名服务提供者返回的结果或者第二域名服务提供者返回的结果在系统原有的域名服务提供者返回的结果之前; 重定向地址返回模块,连接排序模块,网络应用程序得到位于系统原有的域名服务提供者返回的结果之前的第一域名服务提供者或者第二域名服务提供者的返回结果。
6.根据权利要求5所述的通过域名服务提供者进行DNS重定向的装置,其特征在于,在排序模块中,域名解析API根据域名服务提供者的安装顺序的升序对各个域名服务提供者返回的结果进行排序。
7.根据权利要求5所述的通过域名服务提供者进行DNS重定向的装置,其特征在于,在排序模块中,域名解析API根据域名服务提供者的安装顺序的降序对各个域名服务提供者返回的结果进行排序。
8.根据权利要求5所述的通过域名服务提供者进行DNS重定向的装置,其特征在于,该装置在支持IPv6的系统上运行时,域名服务提供者在返回IPv4地址时先将IPv4地址转化为IPv6地址后再返回。
全文摘要
本发明公开了通过域名服务提供者(NSP)进行DNS重定向的方法和装置,避免了禁用系统原有NSP而导致的无法上网的问题。其技术方案为网络应用程序调用域名解析API;域名解析API内部调用多个NSP,其中用于DNS重定向的第一NSP的安装位置位于系统原有的NSP的上方相邻位置,用于DNS重定向的第二NSP的安装位置位于系统原有的NSP的下方相邻位置;域名解析API对各个NSP返回的结果做排序,此时第一NSP返回的结果或者第二NSP返回的结果在系统原有的NSP返回的结果之前;网络应用程序得到位于系统原有的NSP返回的结果之前的第一NSP或者第二NSP的返回结果。
文档编号H04L29/12GK102821171SQ20121031268
公开日2012年12月12日 申请日期2012年8月29日 优先权日2012年8月29日
发明者洪珂, 郑明 申请人:网宿科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1