一种使用域名访问局域网设备的方法、系统及存储介质技术领域
本发明涉及局域网设备访问领域,尤其是一种使用域名访问局域网设备的方法、系统及存储介质。
背景技术
域名系统(Domain Name System,简称DNS)是一个将域名和IP相互映射的分布式数据库。DNS解析是把域名指向网站空间IP,通过注册的域名可以方便地访问到网站的一种内服务。人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析。在浏览器中输入IP地址浏览网站,也可以输入域名查询网站,虽然得出的内容是一样的,但是调用的过程不一样,输入IP地址是直接从主机上调用内容,输入域名是通过域名解析服务器指向对应的主机的IP地址,再从主机调用网站的内容。DNS拦截又称域名拦截,是指通过某些手段取得某域名的解析控制权,修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,即对IP地址的重定向。
为了访问局域网设备,常见的厂家方案通常使用固定域名的DNS拦截技术,如网件路由器会拦截固定域名routerlogin.net。当局域网内的客户端访问该域名时,路由器会拦截该域名的DNS解析,使用路由器本身的局域网IP地址构造一个DNS响应请求包,客户端收到DNS响应后将通过该IP地址直接访问局域网内的路由器设备。因此该路由器用户无需记录或查看该路由器的IP地址,仅需使用该特定域名即可访问局域网内的路由器设备。
公开号为CN104917838A的专利申请公开了一种路由重定向的实现方法及系统,通过在路由器中预先存储广告推送页面,当智能终端与路由器建立连接且未通过认证时,用户在网页输入栏输入任意字符但除了指定域名外时,都可重定向至广告推送页面。同时当需更换或修改广告推送页面的页面内容时,只需通过将路由器指定路径下的文件替换或修改,无需对浏览器程序进行修改,方便了用户。
公开号为WO2016062077A1的专利申请公开了重定向到Web页面的方法及装置,拦截DNS到虚拟IP,在路由层面替换TCP包中的目标虚拟IP到实际的网关地址。解决浏览器DNS缓存,从而跳过域名解析使拦截失败或因IP变化导致请求失败的情况。
公开号为WO2012167538A1的专利申请公开了重定向的方法、装置和系统,公开了一种动态的重定向服务器的实现方案。
公开号为WO2019052058A1的专利申请公开了一种域名重定向方法和系统,事先获取目标设备地址,拦截链路层数据包中的域名请求,通过钩子函数触发并构造DNS响应包,返回目标设备地址。
然而,当客户端程序没有使用局域网内目标设备的DNS服务时,DNS拦截将无法成功。但是上述专利申请中均没有对上述问题的解决方案。在DNS拦截不成功时,特定域名将指向互联网上的服务器,而目标设备用户将无法方便地获取目标设备的局域网IP地址,从而无法直接访问目标设备。
发明内容
针对现有技术存在的不足,本发明提出了一种当本地局域网DNS拦截失败时,仍然能将用户请求重定向至本地局域网目标设备的方法、系统及计算机可读存储介质。
本发明提供了一种使用域名访问局域网设备的方法、系统及存储介质,具体方案如下:
一种使用域名访问局域网设备的方法,其特征在于,所述方法包括如下步骤:
步骤1,为局域网内的待访问的目标设备E分配唯一标识,并使用所述唯一标识生成一个包含特定域名的URL;
步骤2,所述目标设备E在启动时将自身的局域网IP地址和一个特定的授权码或特征码作为通告信息发送给互联网服务器S,所述互联网服务器S将所述通告信息存入数据库;
步骤3,与所述目标设备E位于同一局域网的客户端C通过预分配的所述的URL向所述目标设备E发送特定的URL请求,访问所述目标设备E,此时所述URL被解析到所述互联网服务器S的地址;
步骤4,当所述互联网服务器S接收到所述特定的URL请求时,根据所述URL中携带的所述目标设备E的唯一标识查询步骤2中所述的数据库,获得所述目标设备E在所述局域网内的IP地址和所述授权码或特征码,并将所述IP地址和所述授权码或特征码作为请求响应信息返回给所述客户端C;
步骤5,所述客户端C接收到步骤4中所述的请求响应信息后,利用所述请求响应信息中包括的所述IP地址和所述授权码或特征码访问所述目标设备E。
所述方法进一步包括:所述步骤1中的所述URL是一个唯一的二级域名。
所述方法进一步包括:所述步骤2还包括:当所述目标设备E被重新配置而使得其局域网地址发生变化时,所述目标设备E再次向所述互联网服务器S发送更新后的局域网IP地址。
所述方法进一步包括:所述互联网服务器S接收到所述更新后的局域网IP地址后,所述服务器更新所述数据库中的局域网IP地址。
所述方法进一步包括:所述步骤2中所述的授权码或特征码可以由所述目标设备E随机生成,或由所述互联网服务器S根据步骤1所述的URL计算所得,或由所述客户端C连接所述互联网服务器S时提交的特定信息计算得到。
所述方法进一步包括:所述步骤5具体包括:所述客户端C尝试访问所述请求响应信息中的所述局域网IP地址并发送所述授权码或特征码;如果所述局域网IP地址指向所述目标设备E本身,则所述目标设备E检查所述授权码或特征码是否与其在步骤2中通告的所述特定的授权码或特征码是否匹配;如果匹配,则向所述客户端C返回所述请求响应信息,所述客户端C收到所述请求响应信息后判断所述局域网IP地址是否指向所述目标设备E,如果是,则通过所述局域网IP地址直接访问所述目标设备E,即重定向成功。
所述方法进一步包括:所述步骤5之后包括:步骤6,如果通过步骤5所述的局域网IP地址无法访问所述目标设备E时,所述客户端不会接收到响应,或只能收到错误的响应,即重定向失败。
本发明还公开了:一种使用域名访问局域网设备的系统,其特征在于,所述系统包括目标设备E、客户端C和互联网服务器S;其中
所述目标设备E在启动时将自身的局域网IP地址和一个特定的授权码或特征码作为通告信息发送给所述互联网服务器S;
所述客户端C与所述目标设备E位于同一局域网,所述客户端C通过预分配的所述的URL向所述目标设备E发送特定的URL请求,访问所述目标设备E;所述客户端C接收所述互联网服务器S发送的请求响应信息,利用所述请求响应信息中包括的所述IP地址和所述授权码或特征码访问所述目标设备E;
所述互联网服务器S接收所述目标设备E发送的所述通告信息,并将所述通告信息存入数据库;所述互联网服务器S接收所述客户端C发送的所述特定的URL请求,并根据所述URL中携带的所述目标设备E的唯一标识查询所述的数据库,获得所述目标设备E在所述局域网内的IP地址和所述授权码或特征码,并将所述IP地址和所述授权码或特征码作为请求响应信息返回给所述客户端C。
所述系统进一步包括:所述互联网服务器S接收到所述目标设备E的更新后的局域网IP地址后,更新所述数据库中的局域网IP地址。
本发明还公开了:一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述使用域名访问局域网设备的方法的步骤。
本发明的有益效果:
本发明公开的一种使用域名访问局域网设备的方法和系统,通过域名访问局域网设备,当DNS拦截失败时客户端程序仍然可以被重定向至目标设备的局域网IP地址。客户端程序的用户无需专门配置或记忆该IP地址。
附图说明
图1是本发明实施例中使用域名访问局域网设备的方法的框图。
图2是本发明实施例中使用域名访问局域网设备的方法的示意图。
图3是本发明实施例中使用域名访问局域网设备的系统的示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种本地局域网DNS拦截失败时,仍然能将用户请求重定向至本地局域网目标设备的方法、系统和计算机可读存储介质。
实现所述方法的前提条件是待访问的局域网目标设备可以正常连接公共互联网。
参见图1和2所示,本发明公开了一种使用域名访问局域网设备的方法,包括以下步骤:
步骤1,为局域网内的待访问的目标设备E分配唯一标识,并使用所述唯一标识生成一个包含特定域名的URL,因此该URL具有唯一性。
所述的特定域名的URL,可以是一个唯一的二级域名,如id.xx.cc,此时本专利申请所述方法可以支持TCP、或UDP请求的重定向;当使用HTTP协议访问时,URL也可以是个特定域名后跟特定字符串的形式,如xx.cc/id;使用HTTP协议访问时也可以将唯一标识相关的信息通过HTTP请求头传递。
可以使用信息摘要函数计算得到唯一标识的摘要信息,并使用该摘要信息构造步骤1所述的特定URL或HTTP请求头。摘要函数包括但不限于sha1。
步骤2,所述目标设备E在启动时将自身的局域网IP地址和一个特定的授权码或特征码作为通告信息发送给互联网服务器S,所述互联网服务器S将所述通告信息存入数据库。
步骤2中所述的授权码或特征码可以由所述目标设备E随机生成,或由所述互联网服务器S根据步骤1所述的URL计算所得,或由所述客户端C连接所述互联网服务器S时提交的特定信息计算得到。使用计算方式得到的授权码或特征码通常会使用所述目标设备E的特征信息,例如唯一标识,参与计算。计算可使用的摘要函数包括但不限于sha1。所述计算方式也可以通过目标设备E与互联网服务器预先共享的秘钥进行对称加、解密获得。
当所述目标设备E被重新配置而使得其局域网地址发生变化时,所述目标设备E再次向所述互联网服务器S发送更新后的局域网IP地址。
所述互联网服务器S接收到所述更新后的局域网IP地址后,所述服务器更新所述数据库中的局域网IP地址。
步骤3,与所述目标设备E位于同一局域网的客户端C通过预分配的所述的URL向所述目标设备E发送特定的URL请求,访问所述目标设备E,此时所述URL被解析到所述互联网服务器S的地址。
与所述目标设备E位于同一局域网的客户端C可以通过客户端程序,例如浏览器,访问所述目标设备E,此处不作限定。
步骤4,当所述互联网服务器S接收到所述特定的URL请求时,根据所述URL中携带的所述目标设备E的唯一标识查询步骤2中所述的数据库,获得所述目标设备E在所述局域网内的IP地址和所述授权码或特征码,并将所述IP地址和所述授权码或特征码作为请求响应信息返回给所述客户端C。
步骤5,所述客户端C接收到步骤4中所述的请求响应信息后,利用所述请求响应信息中包括的所述IP地址和所述授权码或特征码访问所述目标设备E。
所述客户端C尝试访问所述请求响应信息中的所述局域网IP地址并发送所述授权码或特征码;如果所述局域网IP地址指向所述目标设备E本身,则所述目标设备E检查所述授权码或特征码是否与其在步骤2中通告的所述特定的授权码或特征码是否匹配;如果匹配,则向所述客户端C返回所述请求响应信息,所述客户端C收到所述请求响应信息后判断所述局域网IP地址是否指向所述目标设备E,如果是,则通过所述局域网IP地址直接访问所述目标设备E,即重定向成功。
步骤6,如果通过步骤5所述的局域网IP地址无法访问所述目标设备E时,所述客户端不会接收到响应,或只能收到错误的响应,即重定向失败。
如图3所示,本发明实施例公开了一种使用域名访问局域网设备的系统,所述系统包括目标设备E、客户端C和互联网服务器S;其中
所述目标设备E在启动时将自身的局域网IP地址和一个特定的授权码或特征码作为通告信息发送给所述互联网服务器S;
所述客户端C与所述目标设备E位于同一局域网,所述客户端C通过预分配的所述的URL向所述目标设备E发送特定的URL请求,访问所述目标设备E;所述客户端C接收所述互联网服务器S发送的请求响应信息,利用所述请求响应信息中包括的所述IP地址和所述授权码或特征码访问所述目标设备E;
所述互联网服务器S接收所述目标设备E发送的所述通告信息,并将所述通告信息存入数据库;所述互联网服务器S接收所述客户端C发送的所述特定的URL请求,并根据所述URL中携带的所述目标设备E的唯一标识查询所述的数据库,获得所述目标设备E在所述局域网内的IP地址和所述授权码或特征码,并将所述IP地址和所述授权码或特征码作为请求响应信息返回给所述客户端C。
所述互联网服务器S接收到所述目标设备E的更新后的局域网IP地址后,更新所述数据库中的局域网IP地址。
根据本发明的实施例,还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现所述的使用域名访问局域网设备的方法的步骤。
本发明提供的一种使用域名访问局域网设备的方法、系统和计算机可读存储介质,通过唯一标识将目标设备的局域网IP地址动态注册至互联网服务器,并在不具备DNS拦截条件时,通过互联网服务器将客户端程序重定向到目标设备的局域网IP地址;通过域名访问局域网设备,当DNS拦截失败时客户端程序仍然可以被重定向至目标设备的局域网IP地址。客户端程序的用户无需专门配置或记忆该IP地址。
在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、ReRAM、MRAM、PCM、NAND Flash,NOR Flash, Memristor、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。