一种路由器域名访问方法、系统、计算机设备和存储介质技术方案

技术编号:19352949 阅读:97 留言:0更新日期:2018-11-07 17:47
本发明专利技术公开了一种路由器域名访问方法、系统、计算机设备和存储介质,用以解决现有的路由器域名访问方法在部分场景下功能失效的问题。所述路由器域名访问方法包括:从网卡驱动的收包队列接收客户端发送的数据包;判断所述数据包是否为路由器域名查询请求报文,若是,对所述数据包进行逻辑处理并组装生成查询回应报文;将所述查询回应报文放入所述网卡驱动的发送队列以发送至所述客户端。本发明专利技术基于数据链路层实现路由器域名解析从而实现通过域名访问路由器,使路由器域名解析在内核数据链路层实现,能满足路由器的所有应用场景,减少了其他内核模块的处理,同时从而提升了路由器本地域名解析的效率。

【技术实现步骤摘要】
一种路由器域名访问方法、系统、计算机设备和存储介质
本专利技术涉及无线通信领域,尤其涉及一种路由器域名访问方法、系统、计算机设备和存储介质。
技术介绍
现有的常见的路由器域名解析功能由DNS代理(DNSProxy,如DNSmasq)来完成路由器域名解析的工作。其工作原理是:路由器给电脑分配IP地址时,通常把路由器的IP地址作为DNS服务器地址分配给电脑;电脑连接路由器后从路由器获取IP和DNS服务器地址,用户在电脑浏览器的地址栏中输入路由器域名,浏览器将向DNS服务器地址发送DNS解析请求,路由器的DNS代理将发往本地的DNS数据进行获取判断解析,如果是路由器的域名,则返回路由器的管理IP,然后浏览器就可以访问路由器。DNS代理工作在OSI(OpenSystemInterconnection,开放系统互连参考模型)七层网络模型中的第七层应用层,其只能获取发往路由器的域名解析请求。但是用户可能手动修改电脑的DNS服务器地址以防止DNS被污染,比如设置为114.114.114.114(114DNS)、223.5.5.5(阿里DNS)、8.8.8.8(谷歌DNS)或者180.76.76.76(百度DNS)。当用户手动修改DNS服务器后造成电脑的域名解析请求经过路由器OSI的第三层IP层后辈转发到修改后的DNS服务器,这样DNS代理不能获取电脑的域名解析请求。当前无线路由器为实现信号的覆盖范围,提供无线桥接模式。无线桥接把多个无线路由器桥接在一起,可以把两个不同物理位置的、不方便布线的用户连接到同一局域网,以起到信号放大的作用。当电脑连接下联桥接路由器时,电脑要通过域名访问连接的路由器,其域名解析请求直接通过桥转发到被桥接的路由器,这样路由器的DNS代理也不能获取电脑的域名解析请求。DNS代理实现路由器域名解析的方法在一些场景下功能失效。比如用户手动修改DNS服务器或者路由器工作在无线桥接模式的情况下,DNS代理无法实现路由器域名解析,这样连接在路由器的电脑无法通过路由器域名访问路由器。
技术实现思路
本专利技术要解决的技术问题目的在于提供一种路由器域名访问方法、系统、计算机设备和存储介质,用以解决现有的路由器域名访问方法在部分场景下功能失效的问题。为了实现上述目的,本专利技术采用的技术方案为:一种路由器域名访问方法,包括步骤:从网卡驱动的收包队列接收客户端发送的数据包;判断所述数据包是否为路由器域名查询请求报文,若是,对所述数据包进行逻辑处理并组装生成查询回应报文;将所述查询回应报文放入所述网卡驱动的发送队列以发送至所述客户端。上述方案中,所述从网卡驱动的收包队列接收客户端发送的数据包,具体包括:通过钩子函数获取所述数据包;所述钩子函数位于数据链路层。上述方案中,所述对所述数据包进行逻辑处理并组装生成查询回应报文,具体包括:根据路由器域名和路由器管理IP地址对所述数据包进行逻辑处理。上述方案中,所述对所述数据包进行逻辑处理并组装生成查询回应报文,具体包括:获取所述数据包的IP头部,判断所述IP头部的版本号是否为IPV4版本及协议类型是否为UDP协议,若否,不进行逻辑处理;获取所述数据包的UDP头部,判断所述UDP头部的目的端口是否为DNS服务器端口号,若否,不进行逻辑处理;获取所述数据包的DNS头部,判断所述DNS头部的标志位是否为DNS域名请求报文的标志,若否,不进行逻辑处理;获取数据包的查询请求报文的域名,判断所述查询请求报文的域名是否与路由器域名一致,若否,不进行逻辑处理。一种路由器域名访问系统,所述路由器域名访问系统应用于数据链路层,包括:数据帧接收模块,用于从网卡驱动的收包队列接收客户端发送的数据包;路由器域名处理模块,用于判断所述数据包是否为路由器域名查询请求报文,若是,对所述数据包进行逻辑处理并组装生成查询回应报文;将所述查询回应报文放入所述网卡驱动的发送队列以发送至所述客户端。上述方案中,所述路由器域名处理模块具体包括:DNS查询报文接收单元,用于通过所述路由器域名处理模块注册的钩子函数获取所述数据包;DNS报文逻辑处理单元,用于对所述数据包进行逻辑处理;DNS回应报文发送单元,用于将所述查询回应报文发送至所述客户端。上述方案中,所述DNS报文逻辑处理单元,具体用于:根据路由器域名和路由器管理IP地址对所述数据包进行逻辑处理。上述方案中,所述DNS报文逻辑处理单元,具体用于:获取所述数据包的IP头部,判断所述IP头部的版本号是否为IPV4版本及协议类型是否为UDP协议,若否,不进行逻辑处理;获取所述数据包的UDP头部,判断所述UDP头部的目的端口是否为DNS服务器端口号,若否,不进行逻辑处理;获取所述数据包的DNS头部,判断所述DNS头部的标志位是否为DNS域名请求报文的标志,若否,不进行逻辑处理;获取数据包的查询请求报文的域名,判断所述查询请求报文的域名是否与路由器域名一致,若否,不进行逻辑处理。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方案中任一项所述路由器域名访问方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方案中任一项所述路由器域名访问方法的步骤。本专利技术与传统的技术相比,有如下优点:1、本专利技术基于数据链路层实现路由器域名解析从而实现通过域名访问路由器,使路由器域名解析在内核数据链路层实现,能满足路由器的所有应用场景。2、由于路由器域名解析在内核数据链路层实现,减少了其他内核模块的处理,同时避免了数据从内核到应用层的拷贝,从而提升了路由器本地域名解析的效率。附图说明图1为本专利技术一实施例中路由器域名访问方法的流程示意图;图2为本专利技术一具体实施例中路由器域名访问方法的流程示意图;图3为本专利技术一实施例中路由器域名访问系统的结构示意图;图4为本专利技术一具体实施例中路由器域名处理模块的结构示意图。具体实施方式以下是本专利技术的具体实施例并结合附图,对本专利技术的技术方案作进一步的描述,但本专利技术并不限于这些实施例。对本专利技术进行进一步详细说明之前,对本专利技术实施例中涉及的名词和属于进行说明,本专利技术实施例中涉及的名词和术语适用于如下的解释。1)域名(DomainName)是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称。2)DNS(DomainNameSystem,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便地访问互联网,而不用去记住能够被及其直接读取的IP数据串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。3)域名解析(DomainNameResolution)是把域名指向网站空间IP地址,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。4)路由器(Router)又称网关设备(Gateway),是连接因特网中各局域网、广域网的设备。路由器的管理地址也叫网址、IP地址,是进入路由器的接口。路由器都有自身Web服务器(WebServer),通过路由器的管理地址登录Web来管理本文档来自技高网
...

【技术保护点】
1.一种路由器域名访问方法,其特征在于,包括步骤:从网卡驱动的收包队列接收客户端发送的数据包;判断所述数据包是否为路由器域名查询请求报文,若是,对所述数据包进行逻辑处理并组装生成查询回应报文;将所述查询回应报文放入所述网卡驱动的发送队列以发送至所述客户端。

【技术特征摘要】
1.一种路由器域名访问方法,其特征在于,包括步骤:从网卡驱动的收包队列接收客户端发送的数据包;判断所述数据包是否为路由器域名查询请求报文,若是,对所述数据包进行逻辑处理并组装生成查询回应报文;将所述查询回应报文放入所述网卡驱动的发送队列以发送至所述客户端。2.根据权利要求1所述的路由器域名访问方法,其特征在于,所述从网卡驱动的收包队列接收客户端发送的数据包,具体包括:通过钩子函数获取所述数据包;所述钩子函数位于数据链路层。3.根据权利要求1所述的路由器域名访问方法,其特征在于,所述对所述数据包进行逻辑处理并组装生成查询回应报文,具体包括:根据路由器域名和路由器管理IP地址对所述数据包进行逻辑处理。4.根据权利要求3所述的路由器域名访问方法,其特征在于,所述对所述数据包进行逻辑处理并组装生成查询回应报文,具体包括:获取所述数据包的IP头部,判断所述IP头部的版本号是否为IPV4版本及协议类型是否为UDP协议,若否,不进行逻辑处理;获取所述数据包的UDP头部,判断所述UDP头部的目的端口是否为DNS服务器端口号,若否,不进行逻辑处理;获取所述数据包的DNS头部,判断所述DNS头部的标志位是否为DNS域名请求报文的标志,若否,不进行逻辑处理;获取数据包的查询请求报文的域名,判断所述查询请求报文的域名是否与路由器域名一致,若否,不进行逻辑处理。5.一种路由器域名访问系统,其特征在于,所述路由器域名访问系统应用于数据链路层,包括:数据帧接收模块,用于从网卡驱动的收包队列接收客户端发送的数据包;路由器域名处理模块,用于判断所述数据包是否为路由器域名查询请求报文,若是,对所述数据包进行逻...

【专利技术属性】
技术研发人员:曾敏
申请(专利权)人:四川斐讯全智信息技术有限公司
类型:发明
国别省市:四川,51

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

1