本发明涉及互联网领域,具体的说,是涉及一种基于开放DNS服务器的域名对应互联网资源的检测方法。
背景技术:
DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址(IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址(IP address)的表,以解析消息的域名。域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。
DNS是计算机域名系统(Domain Name System或Domain Name Service)的缩写,它是由域名解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,一个IP地址可以有多个域名,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器通常为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。
由于各种原因,一次DNS请求所获得的IP资源有限,不能全面地反应某域名在互联网所对应的全部IP资源,这妨碍ISP的用户访问调度和用户体验提升。
技术实现要素:
针对上述现有技术中的不足,本发明提供一种方便ISP的用户访问调度和提升用户体验的基于开放DNS服务器的域名对应互联网资源的检测方法。
本发明所采取的技术方案是:
一种基于开放DNS服务器的域名对应互联网资源的检测方法,其特征在于包括如下步骤:
建立开放DNS服务器库;
搜集整理域名库;汇总常用的域名,形成域名库,并进行不断的更新和完善;
将域名库里的域名向已建立的开放DNS服务器的各服务器发起DNS查询请求,得到对应的IP地址,然后对结果进行汇总和去重处理,从而得到一个全面的域名库所对应的IP资源库。
所述建立开放DNS服务器库包括如下步骤:
(1)首先设定需要用的开放DNS服务器(Open Resolver)的目标;
(2)整理目标区域/网络的所有IP地址段;
(3)通过逐个扫描目标范围内的IP地址段的53端口来判断目标服务器是否开启了DNS服务,进而过滤出目标范围内的所有开启DNS服务的服务器的IP地址信息;
(4)进一步过滤出可提供DNS递归服务的服务器的IP地址信息;
可通过向上步过滤出来的DNS服务器发送比较少见域名的DNS请求,比如dig@ip www.testor.com.cn,判断是否支持DNS递归服务,进而过滤出支持递归服务的服务器作为备用的Open Resolver;
(5)对每个区域/网络中过滤出来的Open Resolver进行DNS递归性能的测试,并进行TOPN排序;
(6)每个区域/网络选择递归性能前N的服务器作为Open Resolver,存入Open Resolver库,进而建立一个开放的DNS服务器库。
(7)由于开放的DNS服务器的服务状态不是一成不变的,所以需要每隔一段时间重复上述的(2)(3)(4)(5)(6),定期更新开放的DNS服务器库。
一种基于开放DNS服务器的域名对应互联网资源的检测方法,包括如下步骤:
步骤S1:根据需要设置开放DNS服务器的区域/网络目标;
步骤S2:查找目标区域/网段的所有IP地址段;可通过网络工具查找全球的IP地址段;
步骤S3:通过端口扫描工具或端口扫描脚本测试目标IP地址段的53端口的开启情况,过滤出53端口开启的IP地址并保存;
步骤S4:对过滤出来的端口53开启的服务器,再判断是否支持DNS递归服务。通过解析比较少见的域名来判断是否为开放的DNS递归服务器;过滤出开放的DNS递归服务器作为备用;
步骤S5:对每个区域/网络的备用开放DNS服务器的性能进行测试,并按照性能优劣进排序;
步骤S6:每个区域/网络选择性能比较好的服务器作为开放DNS服务器并存入开放DNS服务器库;
步骤S7:根据需要搜集整理域名库;
步骤S8:将搜集整理的域名库的域名分别向开放DNS服务器库内的服务器发送DNS解析请求,记录服务器返回的解析IP地址;
步骤S9:对域名库的每个域名对应的每个服务器返回的解析IP地址进行汇总、去重处理,进而得到全部、不重复的域名对应的IP资源库。
本发明相对现有技术的有益效果:
本发明基于开放DNS服务器的域名对应互联网资源的检测方法,将要解析的域名向已建立的开放DNS服务器库的所有服务器发起DNS查询请求,得到每台服务器返回的域名所对应的IP地址,然后将所有开放DNS服务器返回的DNS解析结果(IP地址)进行汇总和去重,进而得到该域名在互联网上所对应的全部IP资源。根据得到的域名在互联网上的IP资源库,方便ISP的用户访问调度和用户体验的提升。
附图说明
图1是本发明基于开放DNS服务器的域名对应互联网资源的检测方法的流程示意图。
具体实施方式
以下参照附图及实施例对本发明进行详细的说明:
附图1可知,一种基于开放DNS服务器的域名对应互联网资源的检测方法,包括如下步骤:
建立开放DNS服务器库;
搜集整理域名库;汇总常用的域名,形成域名库,并进行不断的更新和完善;
将域名库里的域名向已建立的开放DNS服务器的各服务器发起DNS查询请求,得到对应的IP地址,然后对结果进行汇总和去重处理,从而得到一个全面的域名库所对应的IP资源库。
所述建立开放DNS服务器库包括如下步骤:
(1)首先设定需要用的开放DNS服务器(Open Resolver)的目标;
如开放DNS服务器的网络或者国家/地区的分布要求如下:
中国:每个省的省会城市(北京、上海、天津、重庆、哈尔滨、长春、沈阳、呼和浩特、石家庄、乌鲁木齐、兰州、西宁、西安、银川、郑州、济南、太原、合肥、长沙、武汉、南京、成都、贵阳、昆明、南宁、拉萨、杭州、南昌、广州、福州、台北、海口、香港、澳门)的电信、移动、联通、广电和教育网;(北京)鹏博士;(北京)中国科技网;(杭州)华数;
亚洲(中国除外):日本;韩国;印度;新加坡;以色列。
北美:美国;加拿大。
欧洲:英国;德国;俄罗斯。
大洋洲:澳大利亚;新西兰。
南美:巴西;阿根廷;
非洲:南非。
(2)整理目标区域/网络的所有IP地址段;
可参考http://ipblock.chacuo.net/通过工具查找全球范围内可用的IP地址段。
(3)通过逐个扫描目标范围内的IP地址段的53端口来判断目标服务器是否开启了DNS服务,进而过滤出目标范围内的所有开启DNS服务的服务器的IP地址信息;
(4)进一步过滤出可提供DNS递归服务的服务器的IP地址信息;
可通过向上步过滤出来的DNS服务器发送比较少见域名的DNS请求,比如dig@ip www.testor.com.cn,判断是否支持DNS递归服务,进而过滤出支持递归服务的服务器作为备用的Open Resolver;
(5)对每个区域/网络中过滤出来的Open Resolver进行DNS递归性能的测试,并进行TOPN排序;
(6)每个区域/网络选择递归性能前N的服务器作为Open Resolver,存入Open Resolver库,进而建立一个开放的DNS服务器库。
(7)由于开放的DNS服务器的服务状态不是一成不变的,所以需要每隔一段时间重复上述的(2)(3)(4)(5)(6),定期更新开放的DNS服务器库。
如下图1所示,本方案描述的系统主要由三部分组成,分别为建立开放DNS服务器库、搜集整理域名库、建立一个全面的域名库所对应的IP资源库。
如下图1所示,本方案描述的系统主要由三部分组成,分别为建立开放DNS服务器库、搜集整理域名库、建立一个全面的域名库所对应的IP资源库。
本发明实施是一种基于开放DNS服务器的域名对应互联网资源的检测方法,具体实施过程如上面的图1所示,包括以下步骤:
步骤S1:根据需要设置开放DNS服务器的区域/网络目标。
如:北京电信、北京移动、北京联通、北京鹏博士…
步骤S2:查找目标区域/网段的所有IP地址段。可通过网络工具查找全球的IP地址段,可参考http://ipblock.chacuo.net/.
如可查到北京电信的IP地址段为:
1.202.0.0~1.203.255.255
110.94.0.0~110.95.255.255
116.69.0.0~116.69.255.255
211.100.0.0~211.100.255.255
180.149.128.0~180.149.159.255
122.102.80.0~122.102.95.255
103.22.4.0~103.22.7.255
…
步骤S3:通过端口扫描工具或端口扫描脚本测试目标IP地址段的53端口的开启情况,过滤出53端口开启的IP地址并保存。
如:1.202.0.244:53开放
1.202.1.1:53开放
1.202.1.52:53开放
1.202.1.81:53开放
1.202.1.102:53开放
1.202.2.72:53开放
1.202.2.118:53开放
1.202.2.119:53开放
1.202.3.93:53开放
1.202.3.132:53开放
1.202.3.173:53开放
1.202.4.7:53开放
1.202.4.95:53开放
1.202.4.217:53开放
步骤S4:对过滤出来的端口53开启的服务器,再判断是否支持DNS递归服务。通过解析比较少见的域名(授权服务器只有一个)如dig@IP www.testor.com.cn来判断是否为开放的DNS递归服务器。过滤出开放的DNS递归服务器作为备用。
如:dig@1.202.0.244www.testor.com.cn记录并保存可提供递归服务的服务器IP地址。如:
1.202.0.244
1.202.1.1
1.202.1.52
1.202.1.81
1.202.1.102
1.202.3.93
1.202.3.132
1.202.4.7
…
步骤S5:对每个区域/网络的备用开放DNS服务器的性能进行测试,并按照性能优劣进排序。可用功性能测试软件queryperf测试DNS服务器的性能。如排序为:
1.202.0.244
1.202.1.1
1.202.1.52
1.202.1.81
1.202.1.102
1.202.3.93
1.202.3.132
1.202.4.7
…
步骤S6:每个区域/网络选择性能比较好的服务器作为开放DNS服务器并存入开放DNS服务器库。比如选择前5个存入开放DNS服务器库。
1.202.0.244
1.202.1.1
1.202.1.52
1.202.1.81
1.202.1.102
说明:由于多种原因,开放DNS服务器的状态和性能情况是变化的,所有生成的开放DNS服务器库要定期执行步骤S1至S6进行更新。
步骤S7:根据需要搜集整理域名库。
如:www.baidu.com
www.sohu.com
www.sina.com
www.qq.com
www.taobao.com
www.jd.com
…
步骤S8:将搜集整理的域名库的域名分别向开放DNS服务器库内的服务器发送DNS解析请求,记录服务器返回的解析IP地址。
如请求www.baidu.com返回的解析结果为:
180.149.132.151
180.149.131.98
119.75.216.20
119.75.213.61
180.97.33.108
180.97.33.107
180.149.132.151
180.149.131.98
61.135.169.125
61.135.169.121
…
步骤S9:对域名库的每个域名对应的每个服务器返回的解析IP地址进行汇总、去重处理,进而得到全部、不重复的域名对应的IP资源库。
如www.baidu.com对应的互联网IP资源为:
180.149.132.151
180.149.131.98
119.75.216.20
119.75.213.61
180.97.33.108
180.97.33.107
61.135.169.125
61.135.169.121
…
本发明基于开放DNS服务器的域名对应互联网资源的检测方法,将要解析的域名向已建立的开放DNS服务器库的所有服务器发起DNS查询请求,得到每台服务器返回的域名所对应的IP地址,然后将所有开放DNS服务器返回的DNS解析结果(IP地址)进行汇总和去重,进而得到该域名在互联网上所对应的全部IP资源。根据得到的域名在互联网上的IP资源库,方便ISP的用户访问调度和用户体验的提升。
以上所述,仅是本发明的较佳实施例而已,并非对本发明的结构作任何形式上的限制。凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均属于本发明的技术方案范围内。