CN109769043A - 域名解析方法、装置及系统 - Google Patents
域名解析方法、装置及系统 Download PDFInfo
- Publication number
- CN109769043A CN109769043A CN201910193100.3A CN201910193100A CN109769043A CN 109769043 A CN109769043 A CN 109769043A CN 201910193100 A CN201910193100 A CN 201910193100A CN 109769043 A CN109769043 A CN 109769043A
- Authority
- CN
- China
- Prior art keywords
- domain name
- server
- address
- network
- request
- 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
一种域名解析方法、装置及系统,所述方法包含:获取用户发出的目标域名的网络请求,根据网络请求生成域名解析请求数据;根据域名解析请求数据向网络运营商Local DNS获取HTTPSDNS服务节点IP地址;根据HTTPSDNS服务节点IP地址与HTTPSDNS服务节点建立TCP连接;通过HTTPS协议向HTTPSDNS服务节点发送HTTPS连接请求,并通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证后与服务器建立通讯;向服务器发起HTTPS协议的域名解析请求数据,根据服务器反馈的域名解析结果数据获得目标IP地址;将用户发出的目标域名替换为目标IP地址。
Description
技术领域
本发明涉及计算机网络技术领域,特别是涉及一种域名解析方法、装置及系统。
背景技术
域名(Domain Name)是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称。域名系统(DNS,Domain Name System)是因特网的一项核心服务,可以将域名和IP地址相互映射,使人更方便的访问互联网,而不用去记住IP地址数串。域名解析(Domain Name Resolution)就是将域名重新转换为IP地址的过程。
目前,当应用需要发起一个域名解析时,先从操作系统层查询到系统配置的本地DNS服务器(一般为运营商Local DNS服务器),再调用域名解析函数,通过DNS协议将需要解析的域名封装到UDP报文中发送给Local DNS服务器。Local DNS服务器通过查询本地DNS缓存,如果查询到结果则返回IP;否则由Local DNS服务器发起迭代查询,向根域名服务器发出请求解析,根域名服务器返回所有二级域名的域名服务器,Local DNS服务器再向二级域名服务器查询,这样以此类推,一直向下解析,直到查询到所请求的域名。
这种传统的DNS解析方式,至少存在以下问题:
(1)域名劫持问题
域名劫持是互联网攻击的一种方式,通过攻击DNS服务器,或伪造DNS服务器的方法,将目标网站域名解析到错误的地址,从而导致用户无法访问目标网站的目的。由于DNS协议是基于UDP明文进行传输,缺乏安全保护机制,域名劫持代价很低。
(2)Local DNS可靠性问题
传统DNS解析依赖于运营商Local DNS进行,由于不同运营商服务能力不可控,存在由于部分运营商Local DNS故障或者配置错误,导致域名解析失败、解析错误的问题。
(3)智能域名解析不精准
智能域名解析依托网络运营商Local DNS地址判断用户当前的地理位置以及运营商信息进行最优地址解析。由于存在客户端Local DNS配置错误、运营商Local DNS解析转发等原因,导致智能域名解析获取到的Local DNS地址不准确,造成智能域名解析不精准。
发明内容
本发明目的在于提供一种域名解析方法、装置及系统避开DNS解析过程中对于运营商Local DNS的依赖。
为达上述目的,本发明所提供的域名解析方法,具体包含:获取用户发出的目标域名的网络请求,根据所述网络请求生成域名解析请求数据;根据所述域名解析请求数据向网络运营商Local DNS获取HTTPSDNS服务节点IP地址;根据HTTPSDNS服务节点IP地址与HTTPSDNS服务节点建立TCP连接;通过HTTPS协议向HTTPSDNS服务节点发送HTTPS连接请求,并通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证后与服务器建立通讯;向服务器发起HTTPS协议的域名解析请求数据,根据服务器反馈的域名解析结果数据获得目标IP地址;将用户发出的目标域名替换为所述目标IP地址。
在上述域名解析方法中,优选的,所述获取用户发出的目标域名的网络请求包含:监听和/或拦截用户客户端上APP中的目标域名的网络请求,根据所述目标域名的网络请求生成域名解析请求数据;所述域名解析请求数据包含请求域名和客户端真实源IP地址。
在上述域名解析方法中,优选的,通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证后与服务器建立通讯还包含:通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证以及加密算法、密码的协商后与服务器建立通讯。
本发明还提供一种域名解析方法,所述方法包含:接收客户端发送的HTTPS连接请求,通过TLS/SSL协议提供服务器证书至客户端验证合法性以及完成加密算法、密码的协商后与客户端建立通讯;接收客户端发送的域名解析请求数据并解析获得域名信息,将所述域名信息封装转换获得DNS请求报文;根据所述DNS请求报文获得客户端真实源IP地址,将所述客户端真实源IP地址封装至所述DNS报文网络数据包中;根据所述DNS报文网络数据包解析获得对应的IP地址,将所述IP地址封装至DNS响应报文中;根据所述DNS响应报文中所述IP地址生成域名解析结果数据后发送至所述客户端。
在上述域名解析方法中,优选的,将所述客户端真实源IP地址封装至所述DNS报文网络数据包中包含:所述DNS报文网络数据包中修改源IP地址为客户端真实源IP地址。
本发明还提供一种域名解析装置,所述装置包含网络请求管理模块、网络通讯管理模块和HTTPS客户端模块;所述网络请求管理模块用于获取用户发出的目标域名的网络请求,根据所述网络请求生成域名解析请求数据;以及根据将用户发出的目标域名替换为接收到的目标IP地址;所述网络通讯管理模块用于根据所述域名解析请求数据向网络运营商Local DNS获取HTTPSDNS服务节点IP地址;根据HTTPSDNS服务节点IP地址与HTTPSDNS服务节点建立TCP连接;以及将接收到的目标IP地址发送至所述网络请求管理模块;所述HTTPS客户端模块用于通过HTTPS协议向HTTPSDNS服务节点发送HTTPS连接请求,并通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证后与服务器建立通讯;以及向服务器发起HTTPS协议的域名解析请求数据,根据服务器反馈的域名解析结果数据获得目标IP地址并发送至所述网络通讯管理模。
在上述域名解析装置中,优选的,所述网络请求管理模块还包含:监听和/或拦截用户客户端上APP中的目标域名的网络请求,根据所述目标域名的网络请求生成域名解析请求数据;所述域名解析请求数据包含请求域名和客户端真实源IP地址。
在上述域名解析装置中,优选的,所述HTTPS客户端模块还包含:通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证以及加密算法、密码的协商后与服务器建立通讯。
在上述域名解析装置中,优选的,所述装置还包含缓存及容错模块,所述缓存及容错模块用于缓存所述目标IP地址,以及当未收到服务器反馈的目标IP地址时,通过现有DNS处理流程处理用户发出的目标域名的网络请求。
本发明还提供一种域名解析装置,所述装置包含HTTPS服务器端模块、报文转换模块、网络处理模块和DNS处理模块;所述HTTPS服务器端模块用于接收客户端发送的HTTPS连接请求,通过TLS/SSL协议提供服务器证书至客户端验证合法性以及完成加密算法、密码的协商后与客户端建立通讯;以及接收客户端发送的域名解析请求数据和将域名解析结果数据发送至客户端;所述报文转换模块用于根据所述域名解析请求数据解析获得域名信息,将所述域名信息封装转换获得DNS请求报文;以及将接收到的域名解析结果数据发送至所述HTTPS服务器端模块;所述网络处理模块用于根据所述DNS请求报文获得客户端真实源IP地址,将所述客户端真实源IP地址封装至所述DNS报文网络数据包中;以及将接收到的域名解析结果数据发送至所述报文转换模块;所述DNS处理模块用于根据所述DNS报文网络数据包解析获得对应的IP地址,将所述IP地址封装至DNS响应报文中;以及根据所述DNS响应报文中所述IP地址生成域名解析结果数据后发送至所述网络处理模块。
在上述域名解析装置中,优选的,所述网络处理模块还包含:所述DNS报文网络数据包中修改源IP地址为客户端真实源IP地址。
本发明还提供一种域名解析系统,所述系统包含客户端、网络运营商和服务器端;所述客户端包含:网络请求管理模块、网络通讯管理模块、HTTPS客户端模块和缓存及容错模块;所述服务器端包含:HTTPS服务器端模块、报文转换模块、网络处理模块和DNS处理模块;所述网络请求管理模块用于获取用户发出的目标域名的网络请求,根据所述网络请求生成域名解析请求数据;以及根据将用户发出的目标域名替换为接收到的目标IP地址;所述网络通讯管理模块用于根据所述域名解析请求数据向网络运营商Local DNS获取HTTPSDNS服务节点IP地址;根据HTTPSDNS服务节点IP地址与HTTPSDNS服务节点建立TCP连接;以及将接收到的目标IP地址发送至所述网络请求管理模块;所述HTTPS客户端模块用于通过HTTPS协议向HTTPSDNS服务节点发送HTTPS连接请求,并通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证后与服务器建立通讯;以及向服务器发起HTTPS协议的域名解析请求数据,根据服务器反馈的域名解析结果数据获得目标IP地址并发送至所述网络通讯管理模;所述缓存及容错模块用于缓存目标IP地址,以及当未收到服务器反馈的目标IP地址时,通过现有DNS处理流程处理用户发出的目标域名的网络请求,于网络运营商上获得目标IP地址;所述HTTPS服务器端模块用于接收客户端发送的HTTPS连接请求,通过TLS/SSL协议提供服务器证书至客户端验证合法性以及完成加密算法、密码的协商后与客户端建立通讯;以及接收客户端发送的域名解析请求数据和将域名解析结果数据发送至客户端;所述报文转换模块用于根据所述域名解析请求数据解析获得域名信息,将所述域名信息封装转换获得DNS请求报文;以及将接收到的域名解析结果数据发送至所述HTTPS服务器端模块;所述网络处理模块用于根据所述DNS请求报文获得客户端真实源IP地址,将所述客户端真实源IP地址封装至所述DNS报文网络数据包中;以及将接收到的域名解析结果数据发送至所述报文转换模块;所述DNS处理模块用于根据所述DNS报文网络数据包解析获得对应的IP地址,将所述IP地址封装至DNS响应报文中;以及根据所述DNS响应报文中所述IP地址生成域名解析结果数据后发送至所述网络处理模块。
本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本发明的有益技术效果在于:有效的避开了DNS解析过程中对于运营商Local DNS的依赖,使得整个DNS解析过程更安全、可靠、精准,有效的解决了域名劫持、域名解析失败、域名解析不精准的问题,提升用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例所提供的域名解析方法的流程示意图;
图2为本发明一实施例所提供的域名解析方法的流程示意图;
图3为本发明一实施例所提供的域名解析装置的结构示意图;
图4为本发明一实施例所提供的域名解析装置的结构示意图;
图5为本发明一实施例所提供的域名解析系统的结构示意图;
图6为本发明一实施例所提供的域名解析方法的整体流程示意图;
图7为本发明一实施例所提供的域名解析系统的部署示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
请参考图1所示,本发明所提供的域名解析方法,具体包含:S101获取用户发出的目标域名的网络请求,根据所述网络请求生成域名解析请求数据;S102根据所述域名解析请求数据向网络运营商Local DNS获取HTTPSDNS服务节点IP地址;S103根据HTTPSDNS服务节点IP地址与HTTPSDNS服务节点建立TCP连接;S104通过HTTPS协议向HTTPSDNS服务节点发送HTTPS连接请求,并通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证后与服务器建立通讯;S105向服务器发起HTTPS协议的域名解析请求数据,根据服务器反馈的域名解析结果数据获得目标IP地址;S106将用户发出的目标域名替换为所述目标IP地址。
在上述实施例中,所述获取用户发出的目标域名的网络请求包含:监听和/或拦截用户客户端上APP中的目标域名的网络请求,根据所述目标域名的网络请求生成域名解析请求数据;所述域名解析请求数据包含请求域名和客户端真实源IP地址。
在上述实施例中,通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证后与服务器建立通讯还包含:通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证以及加密算法、密码的协商后与服务器建立通讯。
请参考图2所示,本发明还提供一种域名解析方法,所述方法包含:S201接收客户端发送的HTTPS连接请求,通过TLS/SSL协议提供服务器证书至客户端验证合法性以及完成加密算法、密码的协商后与客户端建立通讯;S202接收客户端发送的域名解析请求数据并解析获得域名信息,将所述域名信息封装转换获得DNS请求报文;S203根据所述DNS请求报文获得客户端真实源IP地址,将所述客户端真实源IP地址封装至所述DNS报文网络数据包中;S204根据所述DNS报文网络数据包解析获得对应的IP地址,将所述IP地址封装至DNS响应报文中;S205根据所述DNS响应报文中所述IP地址生成域名解析结果数据后发送至所述客户端。其中,将所述客户端真实源IP地址封装至所述DNS报文网络数据包中包含:所述DNS报文网络数据包中修改源IP地址为客户端真实源IP地址。
请参考图3所示,本发明还提供一种域名解析装置,所述装置包含网络请求管理模块、网络通讯管理模块和HTTPS客户端模块;所述网络请求管理模块用于获取用户发出的目标域名的网络请求,根据所述网络请求生成域名解析请求数据;以及根据将用户发出的目标域名替换为接收到的目标IP地址;所述网络通讯管理模块用于根据所述域名解析请求数据向网络运营商Local DNS获取HTTPSDNS服务节点IP地址;根据HTTPSDNS服务节点IP地址与HTTPSDNS服务节点建立TCP连接;以及将接收到的目标IP地址发送至所述网络请求管理模块;所述HTTPS客户端模块用于通过HTTPS协议向HTTPSDNS服务节点发送HTTPS连接请求,并通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证后与服务器建立通讯;以及向服务器发起HTTPS协议的域名解析请求数据,根据服务器反馈的域名解析结果数据获得目标IP地址并发送至所述网络通讯管理模。其中,所述网络请求管理模块还可包含:监听和/或拦截用户客户端上APP中的目标域名的网络请求,根据所述目标域名的网络请求生成域名解析请求数据;所述域名解析请求数据包含请求域名和客户端真实源IP地址。所述HTTPS客户端模块还可包含:通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证以及加密算法、密码的协商后与服务器建立通讯。
在本发明一实施例中,所述装置还包含缓存及容错模块,所述缓存及容错模块用于缓存所述目标IP地址,以及当未收到服务器反馈的目标IP地址时,通过现有DNS处理流程处理用户发出的目标域名的网络请求。其中,所述现有DNS处理流程即为常规的目标域名获取方式,本发明对此不在详细说明。
请参考图4所示,本发明还提供一种域名解析装置,所述装置包含HTTPS服务器端模块、报文转换模块、网络处理模块和DNS处理模块;所述HTTPS服务器端模块用于接收客户端发送的HTTPS连接请求,通过TLS/SSL协议提供服务器证书至客户端验证合法性以及完成加密算法、密码的协商后与客户端建立通讯;以及接收客户端发送的域名解析请求数据和将域名解析结果数据发送至客户端;所述报文转换模块用于根据所述域名解析请求数据解析获得域名信息,将所述域名信息封装转换获得DNS请求报文;以及将接收到的域名解析结果数据发送至所述HTTPS服务器端模块;所述网络处理模块用于根据所述DNS请求报文获得客户端真实源IP地址,将所述客户端真实源IP地址封装至所述DNS报文网络数据包中;以及将接收到的域名解析结果数据发送至所述报文转换模块;所述DNS处理模块用于根据所述DNS报文网络数据包解析获得对应的IP地址,将所述IP地址封装至DNS响应报文中;以及根据所述DNS响应报文中所述IP地址生成域名解析结果数据后发送至所述网络处理模块。其中,所述网络处理模块还包含:所述DNS报文网络数据包中修改源IP地址为客户端真实源IP地址。
请参考图5所示,本发明还提供一种域名解析系统,所述系统包含客户端、网络运营商和服务器端;所述客户端包含:网络请求管理模块101、网络通讯管理模块102、HTTPS客户端模块103和缓存及容错模块104;所述服务器端包含:HTTPS服务器端模块105、报文转换模块106、网络处理模块107和DNS处理模块108;所述网络请求管理模块101用于获取用户发出的目标域名的网络请求,根据所述网络请求生成域名解析请求数据;以及根据将用户发出的目标域名替换为接收到的目标IP地址;所述网络通讯管理模块102用于根据所述域名解析请求数据向网络运营商Local DNS获取HTTPSDNS服务节点IP地址;根据HTTPSDNS服务节点IP地址与HTTPSDNS服务节点建立TCP连接;以及将接收到的目标IP地址发送至所述网络请求管理模块101;所述HTTPS客户端模块103用于通过HTTPS协议向HTTPSDNS服务节点发送HTTPS连接请求,并通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证后与服务器建立通讯;以及向服务器发起HTTPS协议的域名解析请求数据,根据服务器反馈的域名解析结果数据获得目标IP地址并发送至所述网络通讯管理模;所述缓存及容错模块104用于缓存目标IP地址,以及当未收到服务器反馈的目标IP地址时,通过现有DNS处理流程处理用户发出的目标域名的网络请求,于网络运营商上获得目标IP地址;所述HTTPS服务器端模块105用于接收客户端发送的HTTPS连接请求,通过TLS/SSL协议提供服务器证书至客户端验证合法性以及完成加密算法、密码的协商后与客户端建立通讯;以及接收客户端发送的域名解析请求数据和将域名解析结果数据发送至客户端;所述报文转换模块106用于根据所述域名解析请求数据解析获得域名信息,将所述域名信息封装转换获得DNS请求报文;以及将接收到的域名解析结果数据发送至所述HTTPS服务器端模块105;所述网络处理模块107用于根据所述DNS请求报文获得客户端真实源IP地址,将所述客户端真实源IP地址封装至所述DNS报文网络数据包中;以及将接收到的域名解析结果数据发送至所述报文转换模块106;所述DNS处理模块108用于根据所述DNS报文网络数据包解析获得对应的IP地址,将所述IP地址封装至DNS响应报文中;以及根据所述DNS响应报文中所述IP地址生成域名解析结果数据后发送至所述网络处理模块107。
实际工作中,网络请求管理模块101,负责监听、拦截APP中的目标域名的网络请求,将目标域名传送至网络通讯管理模块102,并负责从网络通讯管理模块102中接收域名解析结果的IP地址并将拦截网络请求的目标域名替换为IP地址。网络通讯管理模块102,负责向网络运营商Local DNS获取HTTPSDNS服务节点IP地址;使用IP地址向HTTPSDNS服务节点建立TCP连接,并通过调用HTTPS客户端模块103发起HTTPS协议的域名解析请求数据和接收域名解析结果IP地址数据。HTTPS客户端模块103,负责通过HTTPS协议向HTTPSDNS服务节点发送HTTPS连接请求,通过TLS/SSL协议完成HTTPSDNS服务器的合法性验证以及加密算法、密码的协商,并通过加密的方式与HTTPS服务器端模块105通讯,发送域名解析请求数据和接收域名解析结果数据。缓存及容错模块104,负责对域名解析IP地址数据进行缓存,以及当HTTPSDNS解析失败时自动容错回退到传统DNS处理。HTTPS服务端模块105,负责接收HTTPS客户端发送的HTTPS连接请求,通过TLS/SSL协议提供服务器证书给HTTPS客户端模块103验证合法性以及完成加密算法、密码的协商,并通过加密的方式与客户端通讯,接收客户端域名解析请求数据和发送域名解析结果数据。报文转换模块106,负责将HTTPS服务端模块105中接收到的HTTP请求报文中的域名信息封装转换为DNS请求报文,并负责将DNS处理模块108返回的DNS解析结果转换为HTTPS响应报文发送给HTTPS服务端模块105。网络处理模块107,负责获取客户端真实源IP,将DNS报文封装到UDP包中,修改源IP地址为客户端真实源IP,并发送给DNS处理模块108处理,并负责重定向路由DNS处理模块108返回的非本地IP网络数据包,转发给报文转换模块106处理。DNS处理模块108,负责将DNS请求报文发送给向DNS服务器进行域名解析请求,并将解析结果封装到DNS响应报文中返回给网络处理模块107。其中,所述DNS服务器可以是HTTPSDNS服务器本身或者其他外部DNS服务器。
为帮助理解本发明所提供的具体使用流程,以下以整体应用为例,对上述实施例做详细说明:
请参考图6所示,在域名解析环节中主要流程如下:
步骤S601:网络请求管理模块101监听、拦截APP中的目标域名的网络请求,将域名解析请求数据,包括请求域名和客户端源IP地址,传送至网络通讯管理模块102。
步骤S602:网络通讯管理模块102向网络运营商Local DNS获取HTTPSDNS服务器的IP地址,客户端通过HTTPSDNS的IP地址建立连接,并通过HTTPS客户端模块103发起HTTPS协议的域名解析请求数据。
步骤S603:HTTPS客户端模块103通过HTTPS协议向HTTPSDNS服务器端发送HTTPS连接请求,通过TLS/SSL协议完成HTTPSDNS服务器的合法性验证以及加密算法、密码的协商,并通过加密的方式与HTTPS服务器端模块105通讯,发送域名解析请求数据。
步骤S604:HTTPS服务端模块105接收HTTPS客户端发送的HTTPS连接请求,通过TLS/SSL协议提供服务器证书给HTTPS客户端模块103验证合法性以及完成加密算法、密码的协商,并通过加密的方式与客户端通讯,接收客户端域名解析请求数据,并调用报文转换模块106进行处理。
步骤S605:报文转换模块106将HTTPS服务端模块105中接收到的HTTP请求报文中的域名信息封装转换为DNS请求报文,调用网络处理模块107。
步骤S606:网络处理模块107从IP报文获取客户端真实源IP地址,封装到DNS请求的IP报文网络数据包中,并发送给向DNS处理模块108进行处理。
步骤S607:DNS处理模块108完成DNS解析过程,查询到请求域名对应的IP地址,将解析结果封装到DNS响应报文返回给网络处理模块107处理。
步骤S608:网络处理模块107负责接收DNS处理模块108返回的IP报文网络数据包,转发给报文转换模块106处理。
步骤S609:报文转换模块106将域名解析结果的DNS报文转换成HTTP响应报文,将解析结果的IP地址放入HTTP响应报文中,并调用HTTPS服务端模块105。
步骤S610:HTTPS服务端模块105,将HTTP响应报文进行加密,并发送给HTTPS客户端模块103。
步骤S611:HTTPS客户端模块103将接收到的HTTPS响应报文解密,并把域名解析结果的IP地址发送给网络通讯管理模块102。
步骤S612:网络通讯管理模块102将接收到的域名解析IP地址数据网络请求管理模块101。
步骤S613:网络请求管理模块101将接收到的域名解析结果的IP地址,将拦截网络请求的目标域名替换为IP地址。
请参考图7所示,将上述域名解析系统应用于实际工作中,其具体部署方式如下:客户端201,客户端可以为智能终端APP、PC服务器浏览器等应用嵌入部署HTTPSDNS客户端插件,通过HTTPS协议发起针对目标域名的解析请求。运营商Local DNS服务器202,只用于解析HTTPSDNS服务器的域名,解析后返回HTTPSDNS服务器的IP地址给客户端。HTTPSDNS服务器203,通过HTTPS协议接收目标应用域名解析请求,并将HTTPS请求转换成DNS请求报文发送给传统DNS服务器进行域名解析,并将DNS响应报文的解析结果转换HTTPS响应报文返回给客户端。传统DNS服务器204,可以与HTTPSDNS合并部署或独立部署,负责接收HTTPSDNS服务器的DNS报文请求,并返回解析结果的DNS响应报文。
本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本发明的有益技术效果在于:有效的避开了DNS解析过程中对于运营商Local DNS的依赖,使得整个DNS解析过程更安全、可靠、精准,有效的解决了域名劫持、域名解析失败、域名解析不精准的问题,提升用户体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种域名解析方法,其特征在于,所述方法包含:
获取用户发出的目标域名的网络请求,根据所述网络请求生成域名解析请求数据;
根据所述域名解析请求数据向网络运营商Local DNS获取HTTPSDNS服务节点IP地址;
根据HTTPSDNS服务节点IP地址与HTTPSDNS服务节点建立TCP连接;
通过HTTPS协议向HTTPSDNS服务节点发送HTTPS连接请求,并通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证后与服务器建立通讯;
向服务器发起HTTPS协议的域名解析请求数据,根据服务器反馈的域名解析结果数据获得目标IP地址;
将用户发出的目标域名替换为所述目标IP地址。
2.根据权利要求1所述的域名解析方法,其特征在于,所述获取用户发出的目标域名的网络请求包含:监听和/或拦截用户客户端上APP中的目标域名的网络请求,根据所述目标域名的网络请求生成域名解析请求数据;所述域名解析请求数据包含请求域名和客户端真实源IP地址。
3.根据权利要求1所述的域名解析方法,其特征在于,通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证后与服务器建立通讯还包含:通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证以及加密算法、密码的协商后与服务器建立通讯。
4.一种域名解析方法,其特征在于,所述方法包含:
接收客户端发送的HTTPS连接请求,通过TLS/SSL协议提供服务器证书至客户端验证合法性以及完成加密算法、密码的协商后与客户端建立通讯;
接收客户端发送的域名解析请求数据并解析获得域名信息,将所述域名信息封装转换获得DNS请求报文;
根据所述DNS请求报文获得客户端真实源IP地址,将所述客户端真实源IP地址封装至所述DNS报文网络数据包中;
根据所述DNS报文网络数据包解析获得对应的IP地址,将所述IP地址封装至DNS响应报文中;
根据所述DNS响应报文中所述IP地址生成域名解析结果数据后发送至所述客户端。
5.根据权利要求4所述的域名解析方法,其特征在于,将所述客户端真实源IP地址封装至所述DNS报文网络数据包中包含:所述DNS报文网络数据包中修改源IP地址为客户端真实源IP地址。
6.一种域名解析装置,其特征在于,所述装置包含网络请求管理模块、网络通讯管理模块和HTTPS客户端模块;
所述网络请求管理模块用于获取用户发出的目标域名的网络请求,根据所述网络请求生成域名解析请求数据;以及根据将用户发出的目标域名替换为接收到的目标IP地址;
所述网络通讯管理模块用于根据所述域名解析请求数据向网络运营商Local DNS获取HTTPSDNS服务节点IP地址;根据HTTPSDNS服务节点IP地址与HTTPSDNS服务节点建立TCP连接;以及将接收到的目标IP地址发送至所述网络请求管理模块;
所述HTTPS客户端模块用于通过HTTPS协议向HTTPSDNS服务节点发送HTTPS连接请求,并通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证后与服务器建立通讯;以及向服务器发起HTTPS协议的域名解析请求数据,根据服务器反馈的域名解析结果数据获得目标IP地址并发送至所述网络通讯管理模。
7.根据权利要求6所述的域名解析装置,其特征在于,所述网络请求管理模块还包含:监听和/或拦截用户客户端上APP中的目标域名的网络请求,根据所述目标域名的网络请求生成域名解析请求数据;所述域名解析请求数据包含请求域名和客户端真实源IP地址。
8.根据权利要求6所述的域名解析装置,其特征在于,所述HTTPS客户端模块还包含:通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证以及加密算法、密码的协商后与服务器建立通讯。
9.根据权利要求6所述的域名解析装置,其特征在于,所述装置还包含缓存及容错模块,所述缓存及容错模块用于缓存所述目标IP地址,以及当未收到服务器反馈的目标IP地址时,通过现有DNS处理流程处理用户发出的目标域名的网络请求。
10.一种域名解析装置,其特征在于,所述装置包含HTTPS服务器端模块、报文转换模块、网络处理模块和DNS处理模块;
所述HTTPS服务器端模块用于接收客户端发送的HTTPS连接请求,通过TLS/SSL协议提供服务器证书至客户端验证合法性以及完成加密算法、密码的协商后与客户端建立通讯;以及接收客户端发送的域名解析请求数据和将域名解析结果数据发送至客户端;
所述报文转换模块用于根据所述域名解析请求数据解析获得域名信息,将所述域名信息封装转换获得DNS请求报文;以及将接收到的域名解析结果数据发送至所述HTTPS服务器端模块;
所述网络处理模块用于根据所述DNS请求报文获得客户端真实源IP地址,将所述客户端真实源IP地址封装至所述DNS报文网络数据包中;以及将接收到的域名解析结果数据发送至所述报文转换模块;
所述DNS处理模块用于根据所述DNS报文网络数据包解析获得对应的IP地址,将所述IP地址封装至DNS响应报文中;以及根据所述DNS响应报文中所述IP地址生成域名解析结果数据后发送至所述网络处理模块。
11.根据权利要求10所述的域名解析装置,其特征在于,所述网络处理模块还包含:所述DNS报文网络数据包中修改源IP地址为客户端真实源IP地址。
12.一种域名解析系统,其特征在于,所述系统包含客户端、网络运营商和服务器端;
所述客户端包含:网络请求管理模块、网络通讯管理模块、HTTPS客户端模块和缓存及容错模块;
所述服务器端包含:HTTPS服务器端模块、报文转换模块、网络处理模块和DNS处理模块;
所述网络请求管理模块用于获取用户发出的目标域名的网络请求,根据所述网络请求生成域名解析请求数据;以及根据将用户发出的目标域名替换为接收到的目标IP地址;
所述网络通讯管理模块用于根据所述域名解析请求数据向网络运营商Local DNS获取HTTPSDNS服务节点IP地址;根据HTTPSDNS服务节点IP地址与HTTPSDNS服务节点建立TCP连接;以及将接收到的目标IP地址发送至所述网络请求管理模块;
所述HTTPS客户端模块用于通过HTTPS协议向HTTPSDNS服务节点发送HTTPS连接请求,并通过TLS/SSL协议接收服务器反馈的服务器证书完成HTTPSDNS服务器的合法性验证后与服务器建立通讯;以及向服务器发起HTTPS协议的域名解析请求数据,根据服务器反馈的域名解析结果数据获得目标IP地址并发送至所述网络通讯管理模;
所述缓存及容错模块用于缓存目标IP地址,以及当未收到服务器反馈的目标IP地址时,通过现有DNS处理流程处理用户发出的目标域名的网络请求,于网络运营商上获得目标IP地址;
所述HTTPS服务器端模块用于接收客户端发送的HTTPS连接请求,通过TLS/SSL协议提供服务器证书至客户端验证合法性以及完成加密算法、密码的协商后与客户端建立通讯;以及接收客户端发送的域名解析请求数据和将域名解析结果数据发送至客户端;
所述报文转换模块用于根据所述域名解析请求数据解析获得域名信息,将所述域名信息封装转换获得DNS请求报文;以及将接收到的域名解析结果数据发送至所述HTTPS服务器端模块;
所述网络处理模块用于根据所述DNS请求报文获得客户端真实源IP地址,将所述客户端真实源IP地址封装至所述DNS报文网络数据包中;以及将接收到的域名解析结果数据发送至所述报文转换模块;
所述DNS处理模块用于根据所述DNS报文网络数据包解析获得对应的IP地址,将所述IP地址封装至DNS响应报文中;以及根据所述DNS响应报文中所述IP地址生成域名解析结果数据后发送至所述网络处理模块。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一所述方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至5任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910193100.3A CN109769043A (zh) | 2019-03-14 | 2019-03-14 | 域名解析方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910193100.3A CN109769043A (zh) | 2019-03-14 | 2019-03-14 | 域名解析方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109769043A true CN109769043A (zh) | 2019-05-17 |
Family
ID=66459146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910193100.3A Pending CN109769043A (zh) | 2019-03-14 | 2019-03-14 | 域名解析方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109769043A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933177A (zh) * | 2019-12-04 | 2020-03-27 | 国家计算机网络与信息安全管理中心 | 一种域名请求处理方法及装置 |
CN111031148A (zh) * | 2019-12-11 | 2020-04-17 | 中天通信技术有限公司 | 一种地址解析方法、装置及电子设备和存储介质 |
CN111414208A (zh) * | 2020-03-13 | 2020-07-14 | 百度在线网络技术(北京)有限公司 | 应用程序的启动方法、装置及设备 |
CN111988349A (zh) * | 2019-05-22 | 2020-11-24 | 西安诺瓦星云科技股份有限公司 | 网络连接建立方法、装置及系统和显示系统 |
CN112532732A (zh) * | 2020-12-03 | 2021-03-19 | 郑州阿帕斯数云信息科技有限公司 | 基于https的会话处理方法及装置 |
CN112738289A (zh) * | 2020-12-24 | 2021-04-30 | 北京网聚云联科技有限公司 | 基于编码dns的cdn节点调度方法及其系统 |
CN112887255A (zh) * | 2019-11-29 | 2021-06-01 | 北京一起教育信息咨询有限责任公司 | 一种网络通信方法及装置 |
CN112954683A (zh) * | 2021-05-13 | 2021-06-11 | 中兴通讯股份有限公司 | 域名解析方法、装置、电子设备和存储介质 |
CN113014678A (zh) * | 2019-12-19 | 2021-06-22 | 厦门网宿有限公司 | 一种域名的过滤方法及装置 |
CN114189493A (zh) * | 2021-11-08 | 2022-03-15 | 深圳市酷开网络科技股份有限公司 | 分布式信令通信方法、计算机设备、信令系统及存储介质 |
CN114301837A (zh) * | 2021-12-16 | 2022-04-08 | 山石网科通信技术股份有限公司 | 路由数据处理方法及装置 |
CN114760267A (zh) * | 2022-04-08 | 2022-07-15 | 中国移动通信集团陕西有限公司 | 域名封堵方法、装置、设备、介质及程序产品 |
CN114866527A (zh) * | 2022-04-29 | 2022-08-05 | 中国科学院信息工程研究所 | 数据处理方法、装置及系统 |
CN115333927A (zh) * | 2022-07-29 | 2022-11-11 | 上海浦东发展银行股份有限公司 | 一种客户端域名切换方法、装置、电子设备和存储介质 |
CN117278524A (zh) * | 2023-09-26 | 2023-12-22 | 北京网藤科技有限公司 | 解决浏览器打开本地服务器显示警告提示的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135471A (zh) * | 2014-07-14 | 2014-11-05 | 嘉兴市辰翔信息科技有限公司 | Dns防劫持通信方法 |
CN106161664A (zh) * | 2015-04-15 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 域名解析方法及装置、数据传输方法及装置 |
CN106797410A (zh) * | 2016-12-23 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 域名解析方法和装置 |
CN109413076A (zh) * | 2018-11-06 | 2019-03-01 | 北京奇虎科技有限公司 | 域名解析方法及装置 |
-
2019
- 2019-03-14 CN CN201910193100.3A patent/CN109769043A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135471A (zh) * | 2014-07-14 | 2014-11-05 | 嘉兴市辰翔信息科技有限公司 | Dns防劫持通信方法 |
CN106161664A (zh) * | 2015-04-15 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 域名解析方法及装置、数据传输方法及装置 |
CN106797410A (zh) * | 2016-12-23 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | 域名解析方法和装置 |
CN109413076A (zh) * | 2018-11-06 | 2019-03-01 | 北京奇虎科技有限公司 | 域名解析方法及装置 |
Non-Patent Citations (1)
Title |
---|
夏刚: "互联网信息安全加固技术探讨-HTTPS技术介绍与应用", 《中国金融电信》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111988349A (zh) * | 2019-05-22 | 2020-11-24 | 西安诺瓦星云科技股份有限公司 | 网络连接建立方法、装置及系统和显示系统 |
CN112887255A (zh) * | 2019-11-29 | 2021-06-01 | 北京一起教育信息咨询有限责任公司 | 一种网络通信方法及装置 |
CN110933177A (zh) * | 2019-12-04 | 2020-03-27 | 国家计算机网络与信息安全管理中心 | 一种域名请求处理方法及装置 |
CN111031148A (zh) * | 2019-12-11 | 2020-04-17 | 中天通信技术有限公司 | 一种地址解析方法、装置及电子设备和存储介质 |
CN111031148B (zh) * | 2019-12-11 | 2022-05-24 | 中天通信技术有限公司 | 一种地址解析方法、装置及电子设备和存储介质 |
CN113014678A (zh) * | 2019-12-19 | 2021-06-22 | 厦门网宿有限公司 | 一种域名的过滤方法及装置 |
CN111414208A (zh) * | 2020-03-13 | 2020-07-14 | 百度在线网络技术(北京)有限公司 | 应用程序的启动方法、装置及设备 |
CN112532732A (zh) * | 2020-12-03 | 2021-03-19 | 郑州阿帕斯数云信息科技有限公司 | 基于https的会话处理方法及装置 |
CN112532732B (zh) * | 2020-12-03 | 2023-12-05 | 郑州阿帕斯数云信息科技有限公司 | 基于https的会话处理方法及装置 |
CN112738289A (zh) * | 2020-12-24 | 2021-04-30 | 北京网聚云联科技有限公司 | 基于编码dns的cdn节点调度方法及其系统 |
CN112738289B (zh) * | 2020-12-24 | 2023-04-07 | 北京网聚云联科技有限公司 | 基于编码dns的cdn节点调度方法及其系统 |
CN112954683A (zh) * | 2021-05-13 | 2021-06-11 | 中兴通讯股份有限公司 | 域名解析方法、装置、电子设备和存储介质 |
CN112954683B (zh) * | 2021-05-13 | 2021-08-17 | 中兴通讯股份有限公司 | 域名解析方法、装置、电子设备和存储介质 |
CN114189493A (zh) * | 2021-11-08 | 2022-03-15 | 深圳市酷开网络科技股份有限公司 | 分布式信令通信方法、计算机设备、信令系统及存储介质 |
CN114189493B (zh) * | 2021-11-08 | 2024-04-12 | 深圳市酷开网络科技股份有限公司 | 分布式信令通信方法、计算机设备、信令系统及存储介质 |
CN114301837A (zh) * | 2021-12-16 | 2022-04-08 | 山石网科通信技术股份有限公司 | 路由数据处理方法及装置 |
CN114760267A (zh) * | 2022-04-08 | 2022-07-15 | 中国移动通信集团陕西有限公司 | 域名封堵方法、装置、设备、介质及程序产品 |
CN114760267B (zh) * | 2022-04-08 | 2024-03-19 | 中国移动通信集团陕西有限公司 | 域名封堵方法、装置、设备、介质及程序产品 |
CN114866527A (zh) * | 2022-04-29 | 2022-08-05 | 中国科学院信息工程研究所 | 数据处理方法、装置及系统 |
CN114866527B (zh) * | 2022-04-29 | 2023-09-15 | 中国科学院信息工程研究所 | 数据处理方法、装置及系统 |
CN115333927A (zh) * | 2022-07-29 | 2022-11-11 | 上海浦东发展银行股份有限公司 | 一种客户端域名切换方法、装置、电子设备和存储介质 |
CN115333927B (zh) * | 2022-07-29 | 2023-10-27 | 上海浦东发展银行股份有限公司 | 一种客户端域名切换方法、装置、电子设备和存储介质 |
CN117278524A (zh) * | 2023-09-26 | 2023-12-22 | 北京网藤科技有限公司 | 解决浏览器打开本地服务器显示警告提示的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109769043A (zh) | 域名解析方法、装置及系统 | |
US11632356B2 (en) | Proxy auto-configuration for directing client traffic to a cloud proxy with cloud-based unique identifier assignment | |
CN108270882B (zh) | 域名的解析方法和装置、存储介质、电子装置 | |
CN102356620B (zh) | 网络应用访问 | |
EP3503505A1 (en) | Sandbox environment for testing integration between a content provider origin and a content delivery network | |
US20170026481A1 (en) | Technique for controlling the service request routing | |
EP3754947B1 (en) | System and method for identifying ott applications and services | |
CN101990183A (zh) | 保护用户信息的方法、装置及系统 | |
US20230171285A1 (en) | Edge network-based account protection service | |
CN104618449A (zh) | 一种实现web单点登录的方法及装置 | |
CN107040389A (zh) | 用于认证、授权和计费协议的结果报告 | |
US10812511B2 (en) | Method for processing a network service | |
CN113542300B (zh) | 一种支持多协议标识解析的节点接入认证方法及系统 | |
CN105357212A (zh) | 一种保证安全和隐私的dns端到端解析方法 | |
CN112437100A (zh) | 漏洞扫描方法及相关设备 | |
CN110730189B (zh) | 一种通信认证方法、装置、设备及存储介质 | |
CN113938474B (zh) | 一种虚拟机访问方法、装置、电子设备和存储介质 | |
CN112910903B (zh) | Ssl证书免部署的方法、装置和系统 | |
CN105491110B (zh) | 基于http或https的根服务器扩展方法和网络 | |
US20220303283A1 (en) | Method and System for Managing Secure IoT Device Applications | |
US11575644B2 (en) | Method for acquiring a delegation chain relating to resolving a domain name identifier in a communication network | |
EP4169219B1 (en) | Methods, system and communication devices related to lawful interception | |
CN111385293B (zh) | 一种网络风险检测方法和装置 | |
US10530635B2 (en) | Pluggable control system for fallback website access | |
US20230344795A1 (en) | Delegation of a naming identifier resolution function |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190517 |