一种获取域名所有资源记录的系统技术方案

技术编号:19486851 阅读:60 留言:0更新日期:2018-11-17 11:32
一种获取域名所有资源记录的系统,属于网络测量技术领域,本发明专利技术为了以向域名管理者提供评价自己域名的安全性以及合理部署域名服务器参考。技术要点:所述方法包括客户端以根域名服务器为初始,向各域名服务器同时发送DNS查询请求,当有各域名服务器均相应查询返回应答报文时,向授权记录中的所有域名服务器发送查询,直到此域名解析所有相关域名服务器上的所有资源记录均被获取。本申请可以向域名管理者提供其域名解析所有可能用到的服务器和所有有关的域,便于域名管理者评价自己域名的安全性以并合理部署域名服务器。

【技术实现步骤摘要】
一种获取域名所有资源记录的系统
本专利技术涉及一种获取域名所有资源记录的系统,属于网络测量

技术介绍
域名系统(DomainNameSystem,DNS)是逐级授权的分布式数据库,提供IP地址和域名之间的翻译服务,是互联网最为重要的基础设施之一,其安全性和可用性直接影响着互联网的服务质量。DNS协议规范中要求域配置多个备份的权威服务器来增加域名解析的性能和可靠性,而且推荐将多个备份服务器分散在不同的地域来增加域名解析的容错及容灾能力,在实现中,DNS域管理员可能将一些拥有其他域的域名的服务器作为本域的服务器,虽然达到了增加备份服务器的目的,但是也使此域名的解析不仅需要此域名及其父域的权威服务器,也需要其他服务器和域,DNS中所有数据以资源记录的形式存储在服务器中,因此获取域名解析所有可能用到的资源记录,对管理者评价自己域名的安全性以并合理部署域名服务器有重要意义。
技术实现思路
本专利技术的目的是提供一种获取域名所有资源记录的系统,以向域名管理者提供评价自己域名的安全性以及合理部署域名服务器参考。本专利技术为解决上述技术问题采取的技术方案是:一种获取域名所有资源记录的系统,所述系统输入为待查询域名,输出为包含该域名解析过程中所有资源记录的文件;所述系统包:域名解析模块:域名解析模块是所述系统的核心,用于对待查询域名进行解析,进行解析时读取待查询域名,将待查询域名中解析为对应的IP地址,在解析过程中对查询发送和应答接收模块返回的应答报文进行分析产生新的问题和新的服务器IP地址,再将该新的问题和新的服务器IP地址发送给查询发送和应答接收模块,域名解析模块还用于,在域名解析过程中产生错误时向错误日志管理模块发送错误日志;查询发送和应答接收模块:用于接收域名解析模块发送的问题和服务器IP地址,向该服务器IP地址发送对应的问题,并将接收到的应答返回给域名解析模块,同时将该应答作为系统的输出储存在所有资源记录的文件,查询发送和应答接收模块还用于,在查询发送和应答接收过程中产生错误时向错误日志管理模块发送错误日志;错误日志管理模块:用于将收到的所有错误日志存储到错误日志文件中。进一步地,将待查询域名中解析为对应的IP地址,其过程为:1.输入目标域名(待查询域名),设当前查询域名为目标域名,2.将根域名服务器IP地址放入查询服务器IP地址列表server_list;3.对于server_list中的IP地址,如果其与当前查询域名组成的二元组不在queried_list中,则向查询发送和应答接收模块发送该IP地址和当前查询域名,将此IP地址和当前查询域名放入已查询列表queried_list;否则,进行下一步;4.清空server_list,转步骤7;5.如果查询发送和应答接收模块返回的所有应答报文均处理完成,转至第7步,否则,进行下一步;6.取出任意一个未处理的报文作如下处理:6.1.如果答案段不为空,且为A记录,作如下处理,即执行6.1.1;否则转至第6.2步:6.1.1将当前查询域名和A记录中IP地址放入resolved_list,再执行6.1.2步;6.1.2查找query_list,若存在服务器名字与当前查询域名相同的,则将服务器地址放入query_list中对应位置;再转至第6步对下一个未处理的报文进行处理;6.2.如果答案段不为空,且为CNAME记录,则将CNAME记录中别名和根服务器IP地址放入query_list,再转至第6步对下一个未处理的报文进行处理;6.3对于授权记录中的服务器域名,在附加段中有A记录的,则进行以下处理;执行6.3.1,否则转6.4步;6.3.1将此IP地址保存至服务器地址列表server_list中,进行6.4步;6.4对于授权记录中的服务器域名,若附加段中没有A记录,则查找resolved_list,如果在执行6.4.1步,不在则执行6.4.2步;6.4.1直接取出对应IP地址,将此IP地址保存至服务器地址列表server_list中,转第6步;6.4.2如果不在,则将服务器域名和根服务器IP地址放入query_list,转第6步;7.判断server_list:7.1如果server_list不空,则转第4步;7.2如果server_list空,则判断query_list中是否存在IP地址别表不为空的元素;7.2.1如果存在将IP地址列表填入server_list,将当前查询域名变更为此域名,转第4步;7.2.2如果不存在,则解析结束;其中:待查询列表query_list:等待向某服务器发送某域名的查询的列表[(name,server_name,[]),…]已查询列表queried_list:已经向某服务器发送过某域名查询的列表[(name,ip),…]解析结果列表resolved_list:已解析的域名和解析得到的Ip地址[(name,[]),…]server_list:服务器ip地址列表。进一步地,所述查询发送和应答接收模块能并列地发出查询和接收应答,支持EDNS0协议。本专利技术具有以下有益效果:本专利技术所述的一种获取域名所有资源记录的系统,包括客户端以根域名服务器为初始,向各域名服务器同时发送DNS查询请求,当有各域名服务器均相应查询返回应答报文时,向授权记录中的所有域名服务器发送查询,直到此域名解析所有相关域名服务器上的所有资源记录均被获取。本申请可以向域名管理者提供其域名解析所有可能用到的服务器和所有有关的域,便于域名管理者评价自己域名的安全性以并合理部署域名服务器。从本专利技术的实例可看出,本专利技术所述系统能够获取所有资源记录数据。经实验验证,本专利技术所述系统可以较快地完成所有资源记录数据的获取。附图说明图1是本专利技术所述系统的结构框图,图2是域名解析模块的流程框图。具体实施方式具体实施方式一:如图1和2所示,本实施方式所述的获取域名所有资源记录的系统(爬虫系统)输入为待查询域名,输出为包含该域名解析过程中所有资源记录的文件;这些应答报文就包括了当前时间和网络状况下,待查域名解析过程中所有涉及到的资源记录。所述系统包:域名解析模块:域名解析模块是所述系统的核心,用于对待查询域名进行解析,进行解析时读取待查询域名,将待查询域名中解析为对应的IP地址,在解析过程中对查询发送和应答接收模块返回的应答报文进行分析产生新的问题和新的服务器IP地址,再将该新的问题和新的服务器IP地址发送给查询发送和应答接收模块,域名解析模块还用于,在域名解析过程中产生错误时向错误日志管理模块发送错误日志;查询发送和应答接收模块:用于接收域名解析模块发送的问题和服务器IP地址,向该服务器IP地址发送对应的问题,并将接收到的应答返回给域名解析模块,同时将该应答作为系统的输出储存在所有资源记录的文件,查询发送和应答接收模块还用于,在查询发送和应答接收过程中产生错误时向错误日志管理模块发送错误日志;错误日志管理模块:用于将收到的所有错误日志存储到错误日志文件中。域名解析模块输入:目标域名输出:无为了爬取域名解析所有可能用到的资源记录,就要完成以下三个功能:1.在初始知识仅为需要解析的域名和根域名服务器IP地址的情况下,需要对应答报文进行解析,找到接下来需要发送查询的域名服务器IP地址和查询的问题。为此,本文档来自技高网...

【技术保护点】
1.一种获取域名所有资源记录的系统,其特征在于,所述系统输入为待查询域名,输出为包含该域名解析过程中所有资源记录的文件;所述系统包:域名解析模块:域名解析模块是所述系统的核心,用于对待查询域名进行解析,进行解析时读取待查询域名,将待查询域名中解析为对应的IP地址,在解析过程中对查询发送和应答接收模块返回的应答报文进行分析产生新的问题和新的服务器IP地址,再将该新的问题和新的服务器IP地址发送给查询发送和应答接收模块,域名解析模块还用于,在域名解析过程中产生错误时向错误日志管理模块发送错误日志;查询发送和应答接收模块:用于接收域名解析模块发送的问题和服务器IP地址,向该服务器IP地址发送对应的问题,并将接收到的应答返回给域名解析模块,同时将该应答作为系统的输出储存在所有资源记录的文件,查询发送和应答接收模块还用于,在查询发送和应答接收过程中产生错误时向错误日志管理模块发送错误日志;错误日志管理模块:用于将收到的所有错误日志存储到错误日志文件中。

【技术特征摘要】
1.一种获取域名所有资源记录的系统,其特征在于,所述系统输入为待查询域名,输出为包含该域名解析过程中所有资源记录的文件;所述系统包:域名解析模块:域名解析模块是所述系统的核心,用于对待查询域名进行解析,进行解析时读取待查询域名,将待查询域名中解析为对应的IP地址,在解析过程中对查询发送和应答接收模块返回的应答报文进行分析产生新的问题和新的服务器IP地址,再将该新的问题和新的服务器IP地址发送给查询发送和应答接收模块,域名解析模块还用于,在域名解析过程中产生错误时向错误日志管理模块发送错误日志;查询发送和应答接收模块:用于接收域名解析模块发送的问题和服务器IP地址,向该服务器IP地址发送对应的问题,并将接收到的应答返回给域名解析模块,同时将该应答作为系统的输出储存在所有资源记录的文件,查询发送和应答接收模块还用于,在查询发送和应答接收过程中产生错误时向错误日志管理模块发送错误日志;错误日志管理模块:用于将收到的所有错误日志存储到错误日志文件中。2.根据权利要求1所述的一种获取域名所有资源记录的系统,其特征在于,将待查询域名中解析为对应的IP地址,其过程为:1.输入目标域名,设当前查询域名为目标域名,2.将根域名服务器IP地址放入查询服务器IP地址列表server_list;3.对于server_list中的IP地址,如果其与当前查询域名组成的二元组不在queried_list中,则向查询发送和应答接收模块发送该IP地址和当前查询域名,将此IP地址和当前查询域名放入已查询列表queried_list;否则,进行下一步;4.清空server_list,转步骤7;5.如果查询发送和应答接收模块返回的所有应答报文均处理完成,转至第7步,否则,进行下一步;6.取出任意一个未处理的报文作如下处理:6.1.如果答案段不为空,且为A记录,作如下处理,即执行6.1.1;否则转至第6.2步:6.1.1将当前查询域名和A记录中IP地址放入resolved_list,再...

【专利技术属性】
技术研发人员:张宇李永悦张宏莉
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:黑龙江,23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1