CN107592377A - 一种指令处理方法、域名解析服务器及客户端设备 - Google Patents
一种指令处理方法、域名解析服务器及客户端设备 Download PDFInfo
- Publication number
- CN107592377A CN107592377A CN201710876921.8A CN201710876921A CN107592377A CN 107592377 A CN107592377 A CN 107592377A CN 201710876921 A CN201710876921 A CN 201710876921A CN 107592377 A CN107592377 A CN 107592377A
- Authority
- CN
- China
- Prior art keywords
- domain name
- instruction
- network address
- resolution server
- higher level
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种指令处理方法、域名解析服务器及客户端设备,其中方法包括:域名解析服务器通过域名解析端口接收客户端设备发送的域名解析请求,判断域名解析请求中的网址的上级域名;如果是预设上级域名,则从域名解析请求中的网址中获得指令;域名解析服务器执行指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式封装获得封装包;域名解析服务器通过域名解析端口将封装包发给客户端设备。本发明利用域名的分层结构创造性地将指令添加到网址中,客户端设备将包括网址的域名解析请求通过域名解析服务器的域名解析端口(一般为53号)发送给域名解析服务器以解析执行,不再开启私有端口接收指令并返回结果,减少了使用的端口,增加了安全性。
Description
技术领域
本发明涉及域名解析服务器领域,特别涉及一种指令处理方法、域名解析服务器及客户端设备。
背景技术
域名解析服务器是进行域名和IP地址转换的服务器。通过域名解析服务器,用户可以通过域名方便地访问到网站,而无需记忆复杂的IP地址。域名解析服务器通过域名解析服务端口(一般为53号端口)提供域名解析服务。
除进行域名解析外,域名解析服务器还可以根据客户端设备发送的非域名解析指令进行一些域名解析之外的处理,如:设置打印级别等。现有技术下,域名解析服务器通过开启额外的私有端口来接收客户端设备发送的这些非域名解析指令,并通过该私有端口向客户端设备返回处理结果。
但并不是所有的服务器都允许开启额外的私有端口,同时,开启额外的私有端口也会增加域名解析服务器的安全风险。
发明内容
有鉴于此,本发明提供了一种指令处理方法、域名解析服务器及客户端设备。
为了实现上述发明目的,本发明提供以下技术方案:
一种指令处理方法,应用于域名解析服务器,所述方法包括:
所述域名解析服务器通过域名解析端口接收客户端设备发送的域名解析请求;
所述域名解析服务器判断所述域名解析请求中的网址的上级域名是否为预设上级域名,如果是,则从所述域名解析请求中的网址中获得指令;
所述域名解析服务器执行所述指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
所述域名解析服务器通过所述域名解析端口将所述封装包发送到所述客户端设备。
可选的,所述从所述域名解析请求中的网址中获得指令,包括:
将所述域名解析请求中的网址中的所述预设上级域名的子域名确定为指令,获得所述指令。
可选的,所述将所述域名解析请求中的网址中的所述预设上级域名的子域名确定为指令,获得所述指令,包括:
确定所述域名解析请求中的网址中的所述预设上级域名的子域名中的各参数;
将确定的各参数进行反向排列,将反向排列后的各参数确定为指令,获得所述指令。
可选的,所述从所述域名解析请求中的网址中获得指令,包括:
从所述域名解析请求中获得发送该域名解析请求的客户端设备的IP地址;
在所述IP地址为预设的多个IP地址中的一个时,从所述域名解析请求中的网址中获得指令。
一种指令处理方法,应用于客户端设备,所述方法包括:
所述客户端设备获得包括第一指令和预设上级域名的第一网址;
所述客户端设备将包括所述第一网址的域名解析请求发送给域名解析服务器的域名解析端口以使所述域名解析服务器根据所述预设上级域名从所述第一网址中获得所述第一指令,执行所述第一指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
所述客户端设备接收所述域名解析服务器通过所述域名解析端口发送的所述封装包,根据所述DNS协议TXT类型定义的格式对接收的所述封装包进行解析,获得所述执行结果。
可选的,所述客户端设备获得包括第一指令和预设上级域名的第一网址,包括:
所述客户端设备获得第一指令,将所述第一指令作为预设上级域名的子域名,生成包括第一指令和预设上级域名的第一网址。
可选的,所述客户端设备获得第一指令,将所述第一指令作为预设上级域名的子域名,生成包括第一指令和预设上级域名的第一网址,包括:
所述客户端设备获得第一指令,确定所述第一指令中的多个参数;
对所述第一指令中的多个参数进行反向排列,将进行反向排列后的多个参数作为预设上级域名的子域名,生成包括预设上级域名和反向排列后的多个参数的第一网址。
一种域名解析服务器,包括:域名解析端口、域名处理模块和指令处理模块,
所述域名解析服务器通过所述域名解析端口接收客户端设备发送的域名解析请求;
所述域名处理模块判断所述域名解析请求中的网址的上级域名是否为预设上级域名,如果是,则所述域名处理模块从所述域名解析请求中的网址中获得指令;
所述指令处理模块执行所述指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
所述域名解析服务器通过所述域名解析端口将所述封装包发送到所述客户端设备。
可选的,所述域名处理模块包括:域名判断子模块、地址获得子模块和指令获得子模块;
所述域名判断子模块,用于判断所述域名解析请求中的网址的上级域名是否为预设上级域名,如果是,则触发所述地址获得子模块;
所述地址获得子模块,用于从所述域名解析请求中获得发送该域名解析请求的客户端设备的IP地址;
所述指令获得子模块,用于在所述IP地址为预设的多个IP地址中的一个时,从所述域名解析请求中的网址中获得指令。
一种客户端设备,包括:网址获取模块、请求发送模块和结果处理模块;
所述网址获取模块,用于获得包括第一指令和预设上级域名的第一网址;
所述请求发送模块,用于将包括所述第一网址的域名解析请求发送给域名解析服务器的域名解析端口以使所述域名解析服务器根据所述预设上级域名从所述第一网址中获得所述第一指令,执行所述第一指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
所述结果处理模块,用于接收所述域名解析服务器通过所述域名解析端口发送的所述封装包,并根据所述DNS协议TXT类型定义的格式对接收的所述封装包进行解析,获得所述执行结果。
本发明利用域名的分层结构创造性地将指令添加网址中,客户端设备将包括网址的域名解析请求通过域名解析服务器的域名解析端口(一般为53号)发送给域名解析服务器进行解析执行,不需要再开启私有端口接收指令并返回结果,减少了所使用的端口的数量,增加了安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种指令处理方法的流程图;
图2为本发明实施例提供的另一种指令处理方法的流程图;
图3为本发明实施例提供的另一种指令处理方法的流程图;
图4为本发明实施例提供的另一种指令处理方法的流程图;
图5为本发明实施例提供的另一种指令处理方法的流程图;
图6为本发明实施例提供的另一种指令处理方法的流程图;
图7为本发明实施例提供的另一种指令处理方法的流程图;
图8为本发明实施例提供的另一种指令处理方法的流程图;
图9为本发明实施例提供的一种域名解析服务器的结构示意图;
图10为本发明实施例提供的一种客户端设备的结构示意图。
具体实施方式
本发明公开了一种指令处理方法、域名解析服务器及客户端设备,本领域技术人员可以借鉴本文内容,适当改进工艺参数实现。特别需要指出的是,所有类似的替换和改动对本领域技术人员来说是显而易见的,它们都被视为包括在本发明。本发明的方法及应用已经通过较佳实施例进行了描述,相关人员明显能在不脱离本发明内容、精神和范围内对本文所述的方法和应用进行改动或适当变更与组合,来实现和应用本发明技术。
下面结合实施例,进一步阐述本发明:
如图1所示,本发明实施例提供了一种指令处理方法,可以应用于域名解析服务器,
该方法可以包括:
S100、所述域名解析服务器通过域名解析端口接收客户端设备发送的域名解析请求;
S110、所述域名解析服务器判断所述域名解析请求中的网址的上级域名是否为预设上级域名,如果是,则执行步骤S120;否则,域名解析服务器执行域名解析动作。
S120、所述域名解析服务器从所述域名解析请求中的网址中获得指令;
S130、所述域名解析服务器执行所述指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
S140、所述域名解析服务器通过所述域名解析端口将所述封装包发送到所述客户端设备。
本发明实施例提供的域名解析请求中包括网址,所述网址中包括上级域名和指令。所述域名解析服务器中设置有预设上级域名。例如,所述预设上级域名可以为cmd.dns.ipanel.cn。所述域名解析服务器通过所述域名解析端口(一般为53号端口)接收所述域名解析请求。
现有技术中,域名解析服务器需要在域名解析端口之外再开启一个私有端口用来接收指令,再将执行结果返回给客户端设备。由于上级域名不能随意更改,而指令可以根据实际需要改变,所以本发明利用DNS协议创造性地将指令添加网址中,再将包括网址的域名解析请求直接通过域名解析端口发送给域名解析服务器,而不需要再额外开启私有端口接收指令,增加了所述域名解析服务器的安全性。所述域名解析服务器从所述网址中获得所述上级域名,并将所述上级域名与所述预设域名进行对比,获得对比结果。所述域名解析服务器根据所述对比结果判断是否从所述域名解析请求中的网址中获得指令。例如,如果要通过本发明查询版本号的version指令,则需要把version添加到网址中,得到version.cmd.dns.ipanel.cn。域名解析服务器从中获取到上级域名cmd.dns.ipanel.cn,确定所述上级域名为所述预设上级域名,则所述域名解析服务器获得所述网址中的指令version并执行所述指令version的查询,得到执行结果并将执行结果进行封装获得封装包。
可选的,本发明实施例中还可以添加dump指令,从而可以导出任意数据以供分析。例如dump config指令可以导出当前实际使用的配置;dump cache指令可以导出当前实际缓存的域名列表等。
具体的,DNS协议中定义了多种类型的查询。最常见的查询方式为A类查询,A类查询所查询的为域名,域名解析服务器经过A类查询返回的结果为IP地址。在DNS协议中,还定义了基于TXT类型的查询,规定结果为文本,适合指令的输出。因此,本发明采用DNS协议TXT类型定义的格式对所述执行结果进行封装。
如图2所示,本发明实施例提供了另一种指令处理方法,可以包括:
S100、所述域名解析服务器通过域名解析端口接收客户端设备发送的域名解析请求;
S110、所述域名解析服务器判断所述域名解析请求中的网址的上级域名是否为预设上级域名,如果是,则执行步骤S121;否则,域名解析服务器执行域名解析动作;
S121、将所述域名解析请求中的网址中的所述预设上级域名的子域名确定为指令,获得所述指令;
S130、所述域名解析服务器执行所述指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
S140、所述域名解析服务器通过所述域名解析端口将所述封装包发送到所述客户端设备。
其中,步骤S121是图1所示实施例中步骤S120的具体实施方案;步骤S100、步骤S110、步骤S130和步骤S140已在图1所示实施例提供的方法中详细说明,不再赘述。
可以理解的是,域名本身是有层次结构的。本发明利用域名的分层结构将指令作为子域名添加到上级域名下,从而得到网址。所述域名解析服务器对所述域名解析请求中获得网址,并从所述网址中获得包括子域名的上级域名,从所述上级域名中获得所述子域名并将所述子域名确定为指令,从而获得指令。
如图3所示,本发明实施例还提供了另一种指令处理方法,可以包括:
S100、所述域名解析服务器通过域名解析端口接收客户端设备发送的域名解析请求;
S110、所述域名解析服务器判断所述域名解析请求中的网址的上级域名是否为预设上级域名,如果是,则执行步骤S122;否则,域名解析服务器执行域名解析动作;
S122、确定所述域名解析请求中的网址中的所述预设上级域名的子域名中的各参数;
具体的,步骤S122可以首先确定所述域名解析请求中的网址中的所述预设上级域名的子域名中的参数的参数数量,如果子域名中的参数的参数数量大于1,再执行步骤S123;否则,直接将子域名中的参数确定为指令,获得所述指令,然后执行步骤S130。
S123、将确定的各参数进行反向排列,将反向排列后的各参数确定为指令,获得所述指令;
S130、所述域名解析服务器执行所述指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
S140、所述域名解析服务器通过所述域名解析端口将所述封装包发送到所述客户端设备。
其中,步骤S100、步骤S110、步骤S130和步骤S140已在图1所示实施例中详细说明,不再赘述;步骤S122和步骤S123为图2所示实施例中步骤S121的具体实施方式。
可以理解的是,本发明所提供的实施例中,如果指令中需要多个参数,可以把所述多个参数依次反向排列作为子域名,并将该子域名添加到所述上级域名下作为子域名。例如,如果指令中包括name arg1arg2...argN多个参数,则对应的包括上级域名的子域名可以为argN....arg2.arg1.name.cmd.dns.ipanel.cn。如果所述域名解析服务器从所述网址中获得的子域名包括多个参数,则需要将所述子域名中的各参数再反向排列从而获得所述指令。
在实际使用中,域名是反向连接的。在本发明中,对于包括多个参数的指令,本发明通过将指令中的多个参数进行反向排列,在实际使用中更符合对域名使用的习惯。
如图4所示,本发明实施例还提供了另一种指令处理方法,可以包括:
S100、所述域名解析服务器通过域名解析端口接收客户端设备发送的域名解析请求;
S110、域名解析服务器判断所述域名解析请求中的网址的上级域名是否为预设上级域名,如果是,则执行步骤S124;否则,域名解析服务器执行域名解析动作;
S124、从所述域名解析请求中获得发送该域名解析请求的客户端设备的IP地址;
S125、在所述IP地址为预设的多个IP地址中的一个时,从所述域名解析请求中的网址中获得指令;
S130、所述域名解析服务器执行所述指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
S140、所述域名解析服务器通过所述域名解析端口将所述封装包发送到所述客户端设备。
其中,步骤S100、步骤S110、步骤S130和步骤S140已在图1所示实施例中详细说明,不再赘述;步骤S124和步骤S125为图3所示实施例中步骤S123的具体实施方式。
如图5所示,本发明实施例还提供了另一种指令处理方法,可以包括:
S100、所述域名解析服务器通过域名解析端口接收客户端设备发送的域名解析请求;
S110、域名解析服务器判断所述域名解析请求中的网址的上级域名是否为预设上级域名,如果是,则执行步骤S124;否则,域名解析服务器执行域名解析动作;
S124、从所述域名解析请求中获得发送该域名解析请求的客户端设备的IP地址;
S126、在所述IP地址为预设的多个IP地址中的一个时,确定所述域名解析请求中的网址中的所述预设上级域名的子域名中的各参数;
S127、将确定的各参数进行反向排列,将反向排列后的各参数确定为指令,获得所述指令;
S130、所述域名解析服务器执行所述指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
S140、所述域名解析服务器通过所述域名解析端口将所述封装包发送到所述客户端设备。
其中,步骤S100、步骤S110、步骤S130和步骤S140已在图1所示实施例中详细说明,步骤S124已在图4所示实施例中详细说明,不再赘述;步骤S126和步骤S127为图4所示实施例中步骤S125的具体实施方式。
可以理解的是,本发明提供的实施例在所述域名解析服务器中可以设置动态名单,动态名单中可以包括预设的多个客户端设备的IP地址。所述域名解析服务器可以从所述域名解析请求中获得客户端设备的IP地址,将获得的IP地址与所述动态名单中预设的多个IP地址进行对比,获得对比结果,所述域名解析服务器根据对比结果确定是否从所述域名解析请求中的网址中获得指令。如果获得IP地址为预设的多个IP地址中的一个,则所述域名解析服务器从所述域名解析请求中的网址中获得指令。
本发明可以增加用于修改的指令从而通过向域名解析服务器发送包括上级域名的子域名在所述域名解析服务器中修改动态名单中的IP地址。所述用于修改的指令可以包括enable和disable。例如,一个客户端设备的IP地址为192.168.10.1,本发明可以通过1.10.168.192.enable.cmd.ipanel.cn将192.168.10.1添加到所述动态名单中,使所述域名解析服务器执行192.168.10.1所发送的域名解析请求。本发明可以通过1.10.168.192.disable.cmd.ipanel.cn将192.168.10.1从所述动态名单中删除,使所述域名解析服务器不再执行192.168.10.1所发送的域名解析请求。
本发明通过设置动态名单,当所述域名解析服务器获取的客户端设备的IP地址在所述动态名单中时,允许执行该客户端设备发送的域名解析请求;当所述域名解析服务器获取的客户端设备的IP地址不在所述动态名单中时,则不允许执行该客户端设备发送的域名解析请求;避免了任意的客户端设备通过发送域名解析请求来执行域名解析请求中的指令,增加了所述域名解析服务器的安全性。
如图6所示,本发明实施例提供了一种指令处理方法,可以应用于客户端设备;
该方法可以包括:
S200、所述客户端设备获得包括第一指令和预设上级域名的第一网址;
S210、所述客户端设备将包括所述第一网址的域名解析请求发送给域名解析服务器的域名解析端口以使所述域名解析服务器根据所述预设上级域名从所述第一网址中获得所述第一指令,执行所述第一指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
S220、所述客户端设备接收所述域名解析服务器通过所述域名解析端口发送的所述封装包,根据所述DNS协议TXT类型定义的格式对接收的所述封装包进行解析,获得所述执行结果。
具体的,所述预设上级域名可以在所述域名解析服务器中设置。所述客户端设备可以通过所述域名解析服务器的域名解析端口(一般为53号端口)将包括所述网址的域名解析请求发送给所述域名解析服务器,不需要在域名解析服务器中再开启一个私有端口接收域名解析请求,增加了域名解析服务器的安全性。
由于在DNS协议中,TXT类型的查询适合指令的输出,域名解析服务器对所述域名解析请求进行解析获得第一指令,得到执行第一指令的执行结果后将所述执行结果可以按DNS协议TXT类型定义的格式进行封装获得封装包。因此,在客户端设备上需要按DNS协议TXT类型定义的格式对所述域名解析服务器通过域名解析端口(一般为53号端口)发送的封装包进行重新拼接为原始输出,从而获得执行结果。
优选的,域名解析服务器一般默认选择用户数据包协议UDP返回执行结果。如果域名解析服务器返回的结果超出一个用户数据包协议UDP包的长度,则域名解析服务器会返回一个标识,该标识可以为TRUCATED,表示截断,则客户端设备需要重新以传输控制协议TCP方式再次发送域名解析请求。在实际使用中,所述客户端设备接收到的执行结果可能较长,因此本发明中可以直接以传输控制协议TCP方式发送域名解析请求。通过使用传输控制协议TCP方式发送域名解析请求,减少了一次无用的用户数据包协议UDP交互。
如图7所示,本发明实施例还提供了应用于客户端设备的另一种指令处理方法,可以包括:
S201、所述客户端设备获得第一指令,将所述第一指令作为预设上级域名的子域名,生成包括第一指令和预设上级域名的第一网址;
S210、所述客户端设备将包括所述第一网址的域名解析请求发送给域名解析服务器的域名解析端口以使所述域名解析服务器根据所述预设上级域名从所述第一网址中获得所述第一指令,执行所述第一指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
S220、所述客户端设备接收所述域名解析服务器通过所述域名解析端口发送的所述封装包,根据所述DNS协议TXT类型定义的格式对接收的所述封装包进行解析,获得所述执行结果。
其中,步骤S201是图6所示实施例中步骤S200的具体实施方式;步骤S210和步骤S220已在图6所示实施例中详细说明,不再赘述。
可以理解的是,域名解析服务器中设置有预设上级域名,由于域名本身有层次结构,本发明利用域名的分层结构将第一指令作为子域名,从而生成第一网址。
本发明可以利用域名的分层结构生成第一网址,将包括第一网址的域名解析请求通过域名解析服务器的域名解析端口(一般为53号端口)发送给域名解析服务器,不需要再域名解析端口之外重新开启一个私有端口接收指令,增加了域名解析服务器的安全性。
如图8所示,本发明实施例还提供了应用于客户端设备的另一种指令处理方法,可以包括:
S202、所述客户端设备获得第一指令,确定所述第一指令中的多个参数;
S203、对所述第一指令中的多个参数进行反向排列,将进行反向排列后的多个参数作为预设上级域名的子域名,生成包括预设上级域名和反向排列后的多个参数的第一网址;
S210、所述客户端设备将包括所述第一网址的域名解析请求发送给域名解析服务器的域名解析端口以使所述域名解析服务器根据所述预设上级域名从所述第一网址中获得所述第一指令,执行所述第一指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
S220、所述客户端设备接收所述域名解析服务器通过所述域名解析端口发送的所述封装包,根据所述DNS协议TXT类型定义的格式对接收的所述封装包进行解析,获得所述执行结果。
其中,步骤S202和步骤S203为图7所示实施例中步骤S201的具体实施方式;步骤S210和步骤S220已在图6所示实施例中详细说明,不再赘述。
可以理解的是,如果第一指令中包括多个参数,则本发明可以将多个参数依次反向排列后作为子域名,从而生成第一网址。由于域名本身是反向排列的,本发明将多个参数依次反向排列添加到预设上级域名中,更符合域名解析服务器进行域名解析的规则。
与上述图1至图5所示的本发明实施例提供的一种指令处理方法相对应,本发明实施例还提供了一种域名解析服务器。
如图9所示,本发明实施例提供了一种域名解析服务器,所述域名解析服务器可以包括域名解析端口001、域名处理模块002和指令处理模块003;
所述域名解析服务器通过所述域名解析端口001接收客户端设备发送的域名解析请求;
所述域名处理模块002判断所述域名解析请求中的网址的上级域名是否为预设上级域名,如果是,则所述域名处理模块从所述域名解析请求中的网址中获得指令;
所述指令处理模块003执行所述指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
所述域名解析服务器通过所述域名解析端口001将所述封装包发送到所述客户端设备。
具体的,本发明实施例提供的域名解析请求中包括网址,所述网址中包括上级域名和指令。所述域名解析服务器中设置有预设上级域名。例如,所述预设上级域名可以为cmd.dns.ipanel.cn。所述域名解析服务器通过所述域名解析端口001(一般为53号端口)接收所述域名解析请求,而不需要再额外开启私有端口接受指令,一定程度上增加了域名解析服务器的安全性。本发明采用DNS协议TXT类型定义的格式对所述执行结果进行封装,更适合指令的输出。
所述域名处理模块002可以用于从所述域名解析请求中的网址中获得指令,具体可以用于:
将所述域名解析请求中的网址中的所述预设上级域名的子域名确定为指令,获得所述指令。
可以理解的是,域名本身有层次结构。本发明利用域名的分层结构将指令作为子域名添加到上级域名下,从而得到网址。所述域名解析服务器通过所述域名处理模块002对所述域名解析请求中获得网址,并从所述网址中获得包括子域名的上级域名,从所述上级域名中获得所述子域名并将所述子域名确定为指令,从而获得指令,有效地利用了域名的分层结构。
其中,所述域名处理模块002可以包括:第一参数确定子模块和第一参数排列子模块;
所述第一参数确定子模块可以用于确定所述域名解析请求中的网址中的所述预设上级域名的子域名中的各参数;
所述第一参数排列子模块可以用于将确定的各参数进行反向排列,将反向排列后的各参数确定为指令,获得所述指令。
具体的,如果指令中需要多个参数,可以把所述多个参数依次反向排列作为子域名,并将该子域名添加到所述上级域名下作为子域名。如果所述域名处理模块002从所述网址中获得的子域名包括多个参数,则需要将所述子域名中的各参数再反向排列从而获得所述指令。
在实际使用中,域名是反向连接的。在本发明中,对于包括多个参数的指令,本发明通过将指令中的多个参数进行反向排列,在实际使用中更符合对域名使用的习惯。
其中,所述域名处理模块002还可以包括:域名判断子模块、地址获得子模块和指令获得子模块;
所述域名判断子模块,用于判断所述域名解析请求中的网址的上级域名是否为预设上级域名,如果是,则触发所述地址获得子模块;
所述地址获得子模块可以用于从所述域名解析请求中获得发送该域名解析请求的客户端设备的IP地址;
所述指令获得子模块,用于在所述IP地址为预设的多个IP地址中的一个时,从所述域名解析请求中的网址中获得指令。
可以理解的是,本发明提供的实施例在所述域名解析服务器中可以设置动态名单,动态名单中可以包括预设的多个客户端设备的IP地址。所述域名解析服务器可以通过域名处理模块002从所述域名解析请求中获得客户端设备的IP地址,将获得的IP地址与所述动态名单中预设的多个IP地址进行对比,获得对比结果,所述域名处理模块002根据对比结果确定是否从所述域名解析请求中的网址中获得指令。如果获得IP地址为预设的多个IP地址中的一个,则所述域名处理模块002从所述域名解析请求中的网址中获得指令,从而避免了任意的客户端设备通过发送域名解析请求来执行域名解析请求中的指令,增加了所述域名解析服务器的安全性。
与上述图6至图8所示的本发明实施例相对应,本发明实施例还提供了一种客户端设备。
如图10所示,本发明实施例还提供了一种客户端设备,所述客户端设备可以包括:网址获取模块101、请求发送模块102和结果处理模块103;
所述网址获取模块101,用于获得包括第一指令和预设上级域名的第一网址;
所述请求发送模块102,用于将包括所述第一网址的域名解析请求发送给域名解析服务器的域名解析端口以使所述域名解析服务器根据所述预设上级域名从所述第一网址中获得所述第一指令,执行所述第一指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
所述结果处理模块103,用于接收所述域名解析服务器通过所述域名解析端口发送的所述封装包,并根据所述DNS协议TXT类型定义的格式对接收的所述封装包进行解析,获得所述执行结果。
具体的,所述客户端设备可以通过所述请求发送模块102发送给所述域名解析服务器的域名解析端口001(一般为53号端口),从而将包括所述网址的域名解析请求发送给所述域名解析服务器,不需要在域名解析服务器中再开启一个私有端口接收域名解析请求,增加了域名解析服务器的安全性。在客户端设备上需要按DNS协议TXT类型定义的格式对所述域名解析服务器通过域名解析端口(一般为53号端口)发送的封装包进行重新拼接为原始输出,从而获得执行结果。
其中,所述网址获取模块101可以包括:指令获取子模块,可以用于:
获得第一指令,将所述第一指令作为预设上级域名的子域名,生成包括第一指令和预设上级域名的第一网址。
具体的,本发明有效地利用域名的分层结构将第一指令作为子域名,从而生成第一网址。所述网址获取模块101将包括第一网址的域名解析请求通过域名解析服务器的域名解析端口(一般为53号端口)发送给域名解析服务器,不需要再域名解析端口001之外重新开启一个私有端口接收指令,增加了域名解析服务器的安全性。
其中,所述网址获取模块101还可以包括:第二参数确定子模块和第二参数排列子模块,可以用于:
所述第二参数确定子模块用于在客户端设备获得第一指令后,确定所述第一指令中的多个参数;
所述第二参数排列子模块可以用于对所述第一指令中的多个参数进行反向排列,将进行反向排列后的多个参数作为预设上级域名的子域名,生成包括预设上级域名和反向排列后的多个参数的第一网址。
具体的,如果第一指令中包括多个参数,则本发明可以将多个参数依次反向排列后作为子域名,从而生成第一网址。由于域名本身是反向排列的,本发明将多个参数依次反向排列添加到预设上级域名中,更符合域名解析服务器进行域名解析的规则。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (10)
1.一种指令处理方法,其特征在于,应用于域名解析服务器,所述方法包括:
所述域名解析服务器通过域名解析端口接收客户端设备发送的域名解析请求;
所述域名解析服务器判断所述域名解析请求中的网址的上级域名是否为预设上级域名,如果是,则从所述域名解析请求中的网址中获得指令;
所述域名解析服务器执行所述指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
所述域名解析服务器通过所述域名解析端口将所述封装包发送到所述客户端设备。
2.根据权利要求1所述的方法,其特征在于,所述从所述域名解析请求中的网址中获得指令,包括:
将所述域名解析请求中的网址中的所述预设上级域名的子域名确定为指令,获得所述指令。
3.根据权利要求2所述的方法,其特征在于,所述将所述域名解析请求中的网址中的所述预设上级域名的子域名确定为指令,获得所述指令,包括:
确定所述域名解析请求中的网址中的所述预设上级域名的子域名中的各参数;
将确定的各参数进行反向排列,将反向排列后的各参数确定为指令,获得所述指令。
4.根据权利要求1所述的方法,其特征在于,所述从所述域名解析请求中的网址中获得指令,包括:
从所述域名解析请求中获得发送该域名解析请求的客户端设备的IP地址;
在所述IP地址为预设的多个IP地址中的一个时,从所述域名解析请求中的网址中获得指令。
5.一种指令处理方法,其特征在于,应用于客户端设备,所述方法包括:
所述客户端设备获得包括第一指令和预设上级域名的第一网址;
所述客户端设备将包括所述第一网址的域名解析请求发送给域名解析服务器的域名解析端口以使所述域名解析服务器根据所述预设上级域名从所述第一网址中获得所述第一指令,执行所述第一指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
所述客户端设备接收所述域名解析服务器通过所述域名解析端口发送的所述封装包,根据所述DNS协议TXT类型定义的格式对接收的所述封装包进行解析,获得所述执行结果。
6.根据权利要求5所述的方法,其特征在于,所述客户端设备获得包括第一指令和预设上级域名的第一网址,包括:
所述客户端设备获得第一指令,将所述第一指令作为预设上级域名的子域名,生成包括第一指令和预设上级域名的第一网址。
7.根据权利要求6所述的方法,其特征在于,所述客户端设备获得第一指令,将所述第一指令作为预设上级域名的子域名,生成包括第一指令和预设上级域名的第一网址,包括:
所述客户端设备获得第一指令,确定所述第一指令中的多个参数;
对所述第一指令中的多个参数进行反向排列,将进行反向排列后的多个参数作为预设上级域名的子域名,生成包括预设上级域名和反向排列后的多个参数的第一网址。
8.一种域名解析服务器,其特征在于,包括:域名解析端口、域名处理模块和指令处理模块,
所述域名解析服务器通过所述域名解析端口接收客户端设备发送的域名解析请求;
所述域名处理模块判断所述域名解析请求中的网址的上级域名是否为预设上级域名,如果是,则所述域名处理模块从所述域名解析请求中的网址中获得指令;
所述指令处理模块执行所述指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
所述域名解析服务器通过所述域名解析端口将所述封装包发送到所述客户端设备。
9.根据权利要求8所述的域名解析服务器,其特征在于,所述域名处理模块包括:域名判断子模块、地址获得子模块和指令获得子模块;
所述域名判断子模块,用于判断所述域名解析请求中的网址的上级域名是否为预设上级域名,如果是,则触发所述地址获得子模块;
所述地址获得子模块,用于从所述域名解析请求中获得发送该域名解析请求的客户端设备的IP地址;
所述指令获得子模块,用于在所述IP地址为预设的多个IP地址中的一个时,从所述域名解析请求中的网址中获得指令。
10.一种客户端设备,其特征在于,包括:网址获取模块、请求发送模块和结果处理模块;
所述网址获取模块,用于获得包括第一指令和预设上级域名的第一网址;
所述请求发送模块,用于将包括所述第一网址的域名解析请求发送给域名解析服务器的域名解析端口以使所述域名解析服务器根据所述预设上级域名从所述第一网址中获得所述第一指令,执行所述第一指令得到执行结果并将执行结果按DNS协议TXT类型定义的格式进行封装获得封装包;
所述结果处理模块,用于接收所述域名解析服务器通过所述域名解析端口发送的所述封装包,并根据所述DNS协议TXT类型定义的格式对接收的所述封装包进行解析,获得所述执行结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710876921.8A CN107592377A (zh) | 2017-09-25 | 2017-09-25 | 一种指令处理方法、域名解析服务器及客户端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710876921.8A CN107592377A (zh) | 2017-09-25 | 2017-09-25 | 一种指令处理方法、域名解析服务器及客户端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107592377A true CN107592377A (zh) | 2018-01-16 |
Family
ID=61047975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710876921.8A Pending CN107592377A (zh) | 2017-09-25 | 2017-09-25 | 一种指令处理方法、域名解析服务器及客户端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107592377A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111343042A (zh) * | 2020-02-05 | 2020-06-26 | 网宿科技股份有限公司 | 一种dns解析的测试方法及测试系统 |
CN111371910A (zh) * | 2018-12-26 | 2020-07-03 | 北京奇虎科技有限公司 | 基于dns的调度系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101310476A (zh) * | 2005-12-28 | 2008-11-19 | 香港应用科技研究院有限公司 | 基于dns的客户机-服务器系统及其在电子设备里的使用 |
CN104040997A (zh) * | 2012-01-16 | 2014-09-10 | 诺基亚通信公司 | 供应商特定的基站自动配置框架 |
CN106576118A (zh) * | 2014-07-30 | 2017-04-19 | 思科技术公司 | 基于dns的动态服务发现 |
-
2017
- 2017-09-25 CN CN201710876921.8A patent/CN107592377A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101310476A (zh) * | 2005-12-28 | 2008-11-19 | 香港应用科技研究院有限公司 | 基于dns的客户机-服务器系统及其在电子设备里的使用 |
CN104040997A (zh) * | 2012-01-16 | 2014-09-10 | 诺基亚通信公司 | 供应商特定的基站自动配置框架 |
CN106576118A (zh) * | 2014-07-30 | 2017-04-19 | 思科技术公司 | 基于dns的动态服务发现 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111371910A (zh) * | 2018-12-26 | 2020-07-03 | 北京奇虎科技有限公司 | 基于dns的调度系统及方法 |
CN111371910B (zh) * | 2018-12-26 | 2023-10-31 | 北京奇虎科技有限公司 | 基于dns的调度系统及方法 |
CN111371910B9 (zh) * | 2018-12-26 | 2023-12-22 | 北京奇虎科技有限公司 | 基于dns的调度系统及方法 |
CN111343042A (zh) * | 2020-02-05 | 2020-06-26 | 网宿科技股份有限公司 | 一种dns解析的测试方法及测试系统 |
CN111343042B (zh) * | 2020-02-05 | 2022-02-22 | 网宿科技股份有限公司 | 一种dns解析的测试方法及测试系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1886470B1 (en) | Method and system for object prediction | |
US8554950B2 (en) | System and method for providing remote data access and transcoding for a mobile communication device | |
CN101523865B (zh) | 用于使用http-察觉的客户端代理的系统和方法 | |
EP2359241B1 (en) | Systems and methods for http callouts for policies | |
CN104639560A (zh) | 用于提供多模式传输层压缩的系统和方法 | |
CN112714194B (zh) | 一种外网主机访问内网设备的方法和网络拓扑结构 | |
WO2016057377A1 (en) | Apparatus and method for identifying domain name system tunneling, exfiltration and infiltration | |
Woodruff et al. | P4dns: In-network dns | |
CA2359855A1 (en) | Dynamic load balancer | |
CN107707683B (zh) | 一种减小dns报文长度的方法和装置 | |
Fox et al. | Internet infrastructure: networking, web services, and cloud computing | |
Phung et al. | The OpenLISP control plane architecture | |
CN111107175B (zh) | 一种构建dns应答报文的方法及装置 | |
Hounsel et al. | Can encrypted DNS be fast? | |
CN107592377A (zh) | 一种指令处理方法、域名解析服务器及客户端设备 | |
CN108111639A (zh) | 一种提高域名系统可用性的方法及系统 | |
Keller et al. | Self‐Awareness in Computer Networks | |
Nadeem et al. | An ns-3 mptcp implementation | |
CN107222588A (zh) | 一种提高dns可用性的方法及系统 | |
Lencse et al. | Design of a tiny multi-threaded DNS64 server | |
CN108449443A (zh) | 一种全ip无线网络地址配置实现方法 | |
CN107911498A (zh) | 一种基于dns代理实现dns解析的方法及装置 | |
CN113472873A (zh) | 固定伪ip地址访问路由器主页的方法 | |
Agrawal et al. | O-ICN Simulator (OICNSIM) An NS-3 Based Simulator for Overlay Information Centric Networking (O-ICN) | |
Secchi et al. | Evaluating web traffic performance over DVB-RCS2 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180116 |
|
RJ01 | Rejection of invention patent application after publication |