CN104683330A - 反域名劫持方法和装置 - Google Patents
反域名劫持方法和装置 Download PDFInfo
- Publication number
- CN104683330A CN104683330A CN201510066336.2A CN201510066336A CN104683330A CN 104683330 A CN104683330 A CN 104683330A CN 201510066336 A CN201510066336 A CN 201510066336A CN 104683330 A CN104683330 A CN 104683330A
- Authority
- CN
- China
- Prior art keywords
- domain name
- address
- sql
- function
- domain
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Abstract
本发明公开了一种反域名劫持方法和装置,属于互联网技术领域。所述反域名劫持方法包括:接收用于触发访问网页的触发信号;调用域名解析函数,根据所述域名解析函数的相关信息判断是否发生域名劫持;若发生域名劫持,则从配置文件中的服务器地址所指示的域名系统DNS服务器中,获取所述网页所对应的网络之间互连的协议IP地址;根据所述IP地址访问所述网页。解决了现有技术中终端仍然会存在域名被劫持的可能性的问题,达到了终端可以在访问网页的同时进行反域名劫持,进而保证能够访问正确的网页的效果。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种反域名劫持方法和装置。
背景技术
DNS(Domain Name System,域名系统)劫持又称域名劫持,是指假冒DNS服务器在劫持的网络范围内拦截终端发送的域名解析请求,对域名解析请求中请求的域名进行分析,并向终端返回假冒的IP(Internet Protocol,网络之间互连的协议)地址。
为了避免因为DNS劫持而导致终端访问假冒的IP地址的问题,终端通常需要进行反域名劫持。现有的一种反域名劫持方法包括:在出现域名劫持之后,终端接收用户的修改信号,根据该修改信号修改终端所设置的DNS服务器的服务器地址。此后,终端通过修改后的服务器地址所对应的正确的DNS服务器,对用户请求访问的网页的域名进行解析。
在实现本发明的过程中,发明人发现上述技术至少存在以下问题:上述方法应用于域名被劫持之后,所以终端仍然会存在域名被劫持的可能性。
发明内容
为了解决现有技术中仍然会存在域名被劫持的可能性的问题,本发明实施例提供了一种反域名劫持方法和装置。所述技术方案如下:
第一方面,提供了一种反域名劫持方法,包括:
接收用于触发访问网页的触发信号;
调用域名解析函数,根据域名解析函数的相关信息判断是否发生域名劫持;
若发生域名劫持,则从配置文件中的服务器地址所指示的DNS服务器中,获取网页所对应的IP地址;
根据IP地址访问网页。
可选地,根据域名解析函数的相关信息判断是否发生域名劫持,包括:
在域名解析函数被调用时,跳转至域名解析函数所对应的自定义函数;
在自定义函数中执行域名解析函数;
通过自定义函数根据域名解析函数的相关信息判断是否发生域名劫持,相关信息包括域名解析函数的返回值、输入参数、提示信息、标志位和返回结果中的至少一种。
可选地,在域名解析函数被调用时,跳转至域名解析函数所对应的自定义函数,包括:
通过地址获取函数获取域名解析函数的函数地址;
将函数地址的指向修改为自定义函数的函数地址;
在域名解析函数被调用时,根据修改后的函数地址的指向跳转至自定义函数。
可选地,通过自定义函数对相关信息进行判断,包括:
当相关信息包括返回值时,通过自定义函数判断返回值是否为第一预定值,第一预定值为用于表示域名解析函数调用成功的数值;
当相关信息包括输入参数且输入参数为主机名时,通过自定义函数检测主机名是否为空;
当相关信息包括提示信息时,通过自定义函数判断提示信息是否为空;
当相关信息包括标志位时,通过自定义函数判断标志位是否为第二预定值,第二预定值为用于请求返回主机名的规范名称的数值;
当相关信息包括返回结果时,通过自定义函数判断返回结果是否为空。
可选地,该方法还包括:
若未发生域名劫持,则提取域名解析函数的返回结果中携带的IP地址;
根据提取到的IP地址访问网页。
第二方面,提供了一种反域名劫持装置,该装置包括:
信号接收模块,用于接收用于触发访问网页的触发信号;
判断模块,用于调用域名解析函数,根据域名解析函数的相关信息判断是否发生域名劫持;
第一获取模块,用于在判断模块的判断结果为发生域名劫持时,从配置文件中的服务器地址所指示的DNS服务器中,获取网页所对应的IP地址;
第一访问模块,用于根据地址获取模块获取到的IP地址访问网页。
可选地,该判断模块,包括:
跳转单元,用于在域名解析函数被调用时,跳转至域名解析函数所对应的自定义函数;
执行单元,用于在自定义函数中执行域名解析函数;
判断单元,用于通过自定义函数根据域名解析函数的相关信息判断是否发生域名劫持,相关信息包括域名解析函数的返回值、输入参数、提示信息、标志位和返回结果中的至少一种。
可选地,该跳转单元,包括:
地址获取子单元,用于通过地址获取函数获取域名解析函数的函数地址;
指向修改子单元,用于将地址获取子单元获取的函数地址的指向修改为自定义函数的函数地址;
跳转子单元,用于在域名解析函数被调用时,根据修改后的函数地址的指向跳转至自定义函数。
可选地,该判断单元,用于:
当相关信息包括返回值时,通过自定义函数判断返回值是否为第一预定值,第一预定值为用于表示域名解析函数调用成功的数值;
当相关信息包括输入参数且输入参数为主机名时,通过自定义函数检测主机名是否为空;
当相关信息包括提示信息时,通过自定义函数判断提示信息是否为空;
当相关信息包括标志位时,通过自定义函数判断标志位是否为第二预定值,第二预定值为用于请求返回主机名的规范名称的数值;
当相关信息包括返回结果时,通过自定义函数判断返回结果是否为空。
可选地,该装置还包括:
第二获取模块,用于在判断模块的判断结果为未发生域名劫持时,提取域名解析函数的返回结果中携带的IP地址;
第二访问模块,用于根据第二获取模块提取到的IP地址访问网页。
本发明实施例提供的技术方案的有益效果是:
通过在接收到访问网页的触发信号时,根据域名解析函数的相关信息判断是否发生域名劫持,如果发生域名劫持,则从配置文件中获取DNS服务器的地址,根据该地址从DNS服务器中获取用户请求访问的网页所对应的正确的IP地址,进而根据IP地址访问该网页;解决了现有技术中终端仍然会存在域名被劫持的可能性的问题,达到了终端可以在访问网页的同时进行反域名劫持,进而保证能够访问正确的网页的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的反域名劫持方法的方法流程图;
图2A是本发明另一实施例提供的反域名劫持方法的方法流程图;
图2B是本发明另一实施例提供的终端中的调用示意图;
图3是本发明一个实施例提供的反域名劫持装置的结构方框图;
图4A是本发明另一实施例提供的反域名劫持装置的结构方框图;
图4B是本发明另一实施例提供的跳转单元的结构方框图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参考图1,其示出了本发明一个实施例提供的反域名劫持方法的方法流程图,如图1所示,该反域名劫持方法包括:
步骤101,接收用于触发访问网页的触发信号。
步骤102,调用域名解析函数,根据域名解析函数的相关信息判断是否发生域名劫持。
步骤103,若发生域名劫持,则从配置文件中的服务器地址所指示的DNS服务器中,获取网页所对应的IP地址。
步骤104,根据IP地址访问网页。
综上所述,本实施例提供的反域名劫持方法,通过在接收到访问网页的触发信号时,根据域名解析函数的相关信息判断是否发生域名劫持,如果发生域名劫持,则从配置文件中获取DNS服务器的地址,根据该地址从DNS服务器中获取用户请求访问的网页所对应的正确的IP地址,进而根据IP地址访问该网页;解决了现有技术中终端仍然会存在域名被劫持的可能性的问题,达到了终端可以在访问网页的同时进行反域名劫持,进而保证能够访问正确的网页的效果。
请参考图2A,其示出了本发明另一个实施例提供的反域名劫持方法的方法流程图,如图2A所示,该反域名劫持方法包括:
步骤201,接收用于触发访问网页的触发信号。
用户想要使用终端浏览网页时,用户可以在终端中施加用于触发访问网页的触发信号。相应的,终端可以接收该触发信号。该触发信号可以为按压回车键的按压信号、点击网页链接的点击信号以及选择网页跳转按钮的选择信号中的任一种。
比如,用户在浏览器的地址栏中输入网址并按下回车键时,终端可以接收到用于访问该网址所对应的网页的触发信号。
步骤202,在域名解析函数被调用时,跳转至域名解析函数所对应的自定义函数。
可选地,本步骤可以包括:
第一,通过地址获取函数获取域名解析函数的函数地址。
终端接收到触发信号之后,终端可以通过Load Library加载Ws-32.dll,然后通过地址获取函数GetProcAddress获取域名解析函数GetAddrInfo的函数地址。
本实施例只是以地址获取函数为GetProcAddress且域名解析函数为GetAddrInfo为例,可选地,地址获取函数还可以是其他能够获取函数地址的函数,且域名解析函数也可以为其他函数,本实施例对此并不做限定。
第二,将函数地址的指向修改为自定义函数的函数地址。
在终端获取到域名解析函数GetAddrInfo的函数地址之后,终端可以将该函数地址的指向修改为自定义函数HookGetAddrInfo的函数地址。可选地,终端可以通过钩子Hook技术将该函数地址的指向修改为自定义函数的函数地址,本实施例对此并不做限定。
第三,在域名解析函数被调用时,根据修改后的函数地址的指向跳转至自定义函数。
此后,当终端调用系统层的域名解析函数时,终端可以根据修改后的函数地址的指向自动跳转至自定义函数。比如,终端调用GetAddrInfo时,终端自动跳转至HookGetAddrInfo。
步骤203,在自定义函数中执行域名解析函数。
在终端跳转至自定义函数后,终端可以执行自定义函数中默认的域名解析函数。比如,当域名解析函数为GetAddrInfo时,终端自动执行GetAddrInfo。
步骤204,通过自定义函数根据域名解析函数的相关信息判断是否发生域名劫持,相关信息包括域名解析函数的返回值、输入参数、提示信息、标志位和返回结果中的至少一种。
终端可以通过自定义函数获取域名解析函数的相关信息,然后通过自定义函数根据该相关信息判断是否发生域名劫持。
可选地,本步骤可以包括:
(1)、当该相关信息包括返回值时,通过自定义函数判断返回值是否为第一预定值,第一预定值为用于表示域名解析函数调用成功的数值。
若判断结果为返回值不是第一预定值,则说明出现异常;相反,则说明程序运行正常。
比如,当域名解析函数为GetAddrInfo时,终端可以通过HookGetAddrInfo检测返回值是否为‘0’。其中,在GetAddrInfo中,返回值为‘0’表示该函数调用成功,相反,返回值为非‘0’则表示该函数调用失败。
(2)、当该相关信息包括输入参数且输入参数为主机名时,通过自定义函数检测主机名是否为空。
域名解析函数GetAddrInfo的实现为int getaddrinfo(const char*hostname,const char*service,const struct addrinfo*hints,struct addrinfo**result),且在调用该函数之前通常需要对函数中的nodename、servname、hints的ai_flags、ai_family、ai_socktype以及ai_protocol 6个参数进行设置,终端可以通过HookGetAddrInfo检测上述各个输入参数中nodename的设置是否为空。其中,输入参数nodename通常为用户请求网页的域名参数。比如,用户请求访问的网页的网页地址为www.baidu.com,则nodename通常可以设置为baidu。
若判断结果为nodename的设置为空,则终端可以获知传入的域名为无效也即出现异常,反之则运行正常。
(3)、当该相关信息包括提示信息时,通过自定义函数判断提示信息是否为空。
GetAddrInfo中的hints可以是一个空指针,也可以是一个指向某个Addrinfo结构体的指针,调用者在这个Addrinfo结构体中填入关于期望返回的信息类型的暗示。由于终端期望通过GetAddrInfo来获取用户请求网页的域名所对应的IP地址,也即hints在正常情况下应该是一个指向某个Addrinfo结构体的指针,所以终端还可以通过HookGetAddrInfo检测hints的设置是否为空。若为空,则说明该设置无效,反之则有效。
(4)、当该相关信息包括标志位时,通过自定义函数判断标志位是否为第二预定值,第二预定值为用于请求返回主机名的规范名称的数值。
域名解析函数GetAddrInfo的标志位可以包括AI_PASSIVE、AI_CANNONAME和AI_NUMERICHOST,终端可以通过HookGetAddrInfo检测AI_CANNONAME的设置是否为第二预定值‘2’。其中,AI_CANNONAME被置位也即为‘2’时,GetAddrInfo所返回的第一个Addrinfo结构中的AI_CANNONAME成员中,应该包含一个以空字符结尾的字符串,字符串的内容是节点名的正规名。
若判断结果为是第二预定值,则该设置有效,反之则该设置无效。
(5)、当该相关信息包括返回结果时,通过自定义函数判断返回结果是否为空。
在执行域名解析函数GetAddrInfo之后,GetAddrInfo可以通过result指针参数返回一个指向Addrinfo结构体链表的指针。而当GetAddrInfo的调用出现异常时,返回结果可能为空,所以终端可以通过HookGetAddrInfo判断返回结果是否为空。
需要补充说明的一点是,本实施例只是以相关信息只包括上述5种中的某一种来举例说明,可选地,相关信息可以同时包括上述5种中的至少两种,此时终端可以通过自定义函数执行各自对应的判断,并且只要有一个判断结果为出现异常,则终端即可确认可能发生域名劫持,本实施例对此并不做限定。此外,为了降低终端的处理复杂度,当终端通过自定义函数判断得到某一种情况的判断结果为出现异常时,终端即可执行步骤205而不再对其他相关信息进行判断。
需要补充说明的另一点是,当相关信息同时包括上述5种中的至少两种时,终端还可以通过自定义函数按照对返回值、输入参数、提示信息、标志位和返回结果进行判断的顺序依次判断,此时,终端的判断复杂度为最低。
步骤205,若发生域名劫持,则从配置文件中的服务器地址所指示的DNS服务器中,获取网页所对应的IP地址。
如果终端的判断结果为发生域名劫持,则终端可以读取配置文件中的DNS服务器的服务器地址,调用系统中的DNS API(DNS Query),然后进行DNS查询。可选地,终端可以发送域名解析请求至该服务器地址所对应的DNS服务器。该域名解析请求中包含用户请求访问的网页的域名参数,该域名参数可以为域名解析函数中传入的主机名,如baidu。
DNS服务器接收到该域名解析请求之后,DNS服务器可以查询与域名解析请求中的域名参数对应的IP地址,并将查询到的IP地址返回给终端。相应的,终端可以接收DNS服务器返回的IP地址。
步骤206,根据IP地址访问网页。
需要补充说明的一点是,如果步骤204中的判断结果为未发生劫持,则可以执行如下步骤:
第一,提取域名解析函数的返回结果中携带的IP地址。
由于GetAddrInfo可以通过result指针参数返回一个指向Addrinfo结构体链表的指针,Addrinfo结构体链表中包含请求的网页的域名所对应的IP地址,所以当终端的判断结果为未发生域名劫持时,终端可以提取返回结果中携带的IP地址。
第二,根据提取到的IP地址访问网页。
在提取到返回结果中的IP地址之后,终端可以根据该IP地址访问网页。
需要补充说明的另一点是,终端中可以运行有用于在Windows窗体程序中显示网页的浏览器控件WebBrowser控件,所以上述实施例中由终端执行的步骤均可以由WebBrowser控件来实现,本实施例对此并不做限定。并且,当域名解析函数为GetAddrInfo,自定义函数为HookGetAddrInfo时,终端中的调用情况可以参考图2B。
综上所述,本实施例提供的反域名劫持方法,通过在接收到访问网页的触发信号时,根据域名解析函数的相关信息判断是否发生域名劫持,如果发生域名劫持,则从配置文件中获取DNS服务器的地址,根据该地址从DNS服务器中获取用户请求访问的网页所对应的正确的IP地址,进而根据IP地址访问该网页;解决了现有技术中终端仍然会存在域名被劫持的可能性的问题,达到了终端可以在访问网页的同时进行反域名劫持,进而保证能够访问正确的网页的效果。
本实施例在判断得到发生域名劫持时,从配置文件中读取DNS服务器的服务器地址(该地址为正确的DNS服务器的服务器地址),所以本实施例在域名劫持时能获取到正确的IP地址,起到了反域名劫持的目的。
请参考图3,其示出了本发明一个实施例提供的反域名劫持装置的结构方框图,如图3所示,该反域名劫持装置可以包括:信号接收模块310、判断模块320、第一获取模块330和第一访问模块340。
信号接收模块310,用于接收用于触发访问网页的触发信号;
判断模块320,用于调用域名解析函数,根据域名解析函数的相关信息判断是否发生域名劫持;
第一获取模块330,用于在判断模块320的判断结果为发生域名劫持时,从配置文件中的服务器地址所指示的DNS服务器中,获取网页所对应的IP地址;
第一访问模块340,用于根据地址获取模块330获取到的IP地址访问网页。
综上所述,本实施例提供的反域名劫持装置,通过在接收到访问网页的触发信号时,根据域名解析函数的相关信息判断是否发生域名劫持,如果发生域名劫持,则从配置文件中获取DNS服务器的地址,根据该地址从DNS服务器中获取用户请求访问的网页所对应的正确的IP地址,进而根据IP地址访问该网页;解决了现有技术中终端仍然会存在域名被劫持的可能性的问题,达到了终端可以在访问网页的同时进行反域名劫持,进而保证能够访问正确的网页的效果。
请参考图4A,其示出了本发明一个实施例提供的反域名劫持装置的结构方框图,如图4A所示,该反域名劫持装置可以包括:信号接收模块410、判断模块420、第一获取模块430和第一访问模块440。
信号接收模块410,用于接收用于触发访问网页的触发信号;
判断模块420,用于调用域名解析函数,根据域名解析函数的相关信息判断是否发生域名劫持;
第一获取模块430,用于在判断模块420的判断结果为发生域名劫持时,从配置文件中的服务器地址所指示的DNS服务器中,获取网页所对应的IP地址;
第一访问模块440,用于根据地址获取模块430获取到的IP地址访问网页。
可选地,该判断模块420,包括:
跳转单元421,用于在域名解析函数被调用时,跳转至域名解析函数所对应的自定义函数;
执行单元422,用于在自定义函数中执行域名解析函数;
判断单元423,用于通过自定义函数根据域名解析函数的相关信息判断是否发生域名劫持,相关信息包括域名解析函数的返回值、输入参数、提示信息、标志位和返回结果中的至少一种。
可选地,请参考图4B,该跳转单元421,包括:
地址获取子单元421a,用于通过地址获取函数获取域名解析函数的函数地址;
指向修改子单元421b,用于将地址获取子单元421a获取的函数地址的指向修改为自定义函数的函数地址;
跳转子单元421c,用于在域名解析函数被调用时,根据修改后的函数地址的指向跳转至自定义函数。
可选地,该判断单元423,用于:
当相关信息包括返回值时,通过自定义函数判断返回值是否为第一预定值,第一预定值为用于表示域名解析函数调用成功的数值;
当相关信息包括输入参数且输入参数为主机名时,通过自定义函数检测主机名是否为空;
当相关信息包括提示信息时,通过自定义函数判断提示信息是否为空;
当相关信息包括标志位时,通过自定义函数判断标志位是否为第二预定值,第二预定值为用于请求返回主机名的规范名称的数值;
当相关信息包括返回结果时,通过自定义函数判断返回结果是否为空。
可选地,该装置还包括:
第二获取模块450,用于在判断模块的判断结果为未发生域名劫持时,提取域名解析函数的返回结果中携带的IP地址;
第二访问模块460,用于根据第二获取模块450提取到的IP地址访问网页。
综上所述,本实施例提供的反域名劫持装置,通过在接收到访问网页的触发信号时,根据域名解析函数的相关信息判断是否发生域名劫持,如果发生域名劫持,则从配置文件中获取DNS服务器的地址,根据该地址从DNS服务器中获取用户请求访问的网页所对应的正确的IP地址,进而根据IP地址访问该网页;解决了现有技术中终端仍然会存在域名被劫持的可能性的问题,达到了终端可以在访问网页的同时进行反域名劫持,进而保证能够访问正确的网页的效果。
本实施例在判断得到发生域名劫持时,从配置文件中读取DNS服务器的服务器地址(该地址为正确的DNS服务器的服务器地址),所以本实施例在域名劫持时能获取到正确的IP地址,起到了反域名劫持的目的。
需要说明的是:上述实施例提供的反域名劫持装置在反域名劫持时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的反域名劫持装置与反域名劫持方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种反域名劫持方法,其特征在于,所述方法包括:
接收用于触发访问网页的触发信号;
调用域名解析函数,根据所述域名解析函数的相关信息判断是否发生域名劫持;
若发生域名劫持,则从配置文件中的服务器地址所指示的域名系统DNS服务器中,获取所述网页所对应的网络之间互连的协议IP地址;
根据所述IP地址访问所述网页。
2.根据权利要求1所述的方法,其特征在于,所述根据所述域名解析函数的相关信息判断是否发生域名劫持,包括:
在所述域名解析函数被调用时,跳转至所述域名解析函数所对应的自定义函数;
在所述自定义函数中执行所述域名解析函数;
通过所述自定义函数根据所述域名解析函数的相关信息判断是否发生域名劫持,所述相关信息包括所述域名解析函数的返回值、输入参数、提示信息、标志位和返回结果中的至少一种。
3.根据权利要求2所述的方法,其特征在于,所述在所述域名解析函数被调用时,跳转至所述域名解析函数所对应的自定义函数,包括:
通过地址获取函数获取所述域名解析函数的函数地址;
将所述函数地址的指向修改为所述自定义函数的函数地址;
在所述域名解析函数被调用时,根据修改后的所述函数地址的指向跳转至所述自定义函数。
4.根据权利要求2所述的方法,其特征在于,所述通过所述自定义函数对所述相关信息进行判断,包括:
当所述相关信息包括所述返回值时,通过所述自定义函数判断所述返回值是否为第一预定值,所述第一预定值为用于表示所述域名解析函数调用成功的数值;
当所述相关信息包括所述输入参数且所述输入参数为主机名时,通过所述自定义函数检测所述主机名是否为空;
当所述相关信息包括提示信息时,通过所述自定义函数判断所述提示信息是否为空;
当所述相关信息包括标志位时,通过所述自定义函数判断所述标志位是否为第二预定值,所述第二预定值为用于请求返回所述主机名的规范名称的数值;
当所述相关信息包括所述返回结果时,通过所述自定义函数判断所述返回结果是否为空。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
若未发生域名劫持,则提取所述域名解析函数的返回结果中携带的IP地址;
根据提取到的所述IP地址访问所述网页。
6.一种反域名劫持装置,其特征在于,所述装置包括:
信号接收模块,用于接收用于触发访问网页的触发信号;
判断模块,用于调用域名解析函数,根据所述域名解析函数的相关信息判断是否发生域名劫持;
第一获取模块,用于在所述判断模块的判断结果为发生域名劫持时,从配置文件中的服务器地址所指示的域名系统DNS服务器中,获取所述网页所对应的网络之间互连的协议IP地址;
第一访问模块,用于根据所述地址获取模块获取到的所述IP地址访问所述网页。
7.根据权利要求6所述的装置,其特征在于,所述判断模块,包括:
跳转单元,用于在所述域名解析函数被调用时,跳转至所述域名解析函数所对应的自定义函数;
执行单元,用于在所述自定义函数中执行所述域名解析函数;
判断单元,用于通过所述自定义函数根据所述域名解析函数的相关信息判断是否发生域名劫持,所述相关信息包括所述域名解析函数的返回值、输入参数、提示信息、标志位和返回结果中的至少一种。
8.根据权利要求7所述的装置,其特征在于,所述跳转单元,包括:
地址获取子单元,用于通过地址获取函数获取所述域名解析函数的函数地址;
指向修改子单元,用于将所述地址获取子单元获取的所述函数地址的指向修改为所述自定义函数的函数地址;
跳转子单元,用于在所述域名解析函数被调用时,根据修改后的所述函数地址的指向跳转至所述自定义函数。
9.根据权利要求7所述的装置,其特征在于,所述判断单元,用于:
当所述相关信息包括所述返回值时,通过所述自定义函数判断所述返回值是否为第一预定值,所述第一预定值为用于表示所述域名解析函数调用成功的数值;
当所述相关信息包括所述输入参数且所述输入参数为主机名时,通过所述自定义函数检测所述主机名是否为空;
当所述相关信息包括提示信息时,通过所述自定义函数判断所述提示信息是否为空;
当所述相关信息包括标志位时,通过所述自定义函数判断所述标志位是否为第二预定值,所述第二预定值为用于请求返回所述主机名的规范名称的数值;
当所述相关信息包括所述返回结果时,通过所述自定义函数判断所述返回结果是否为空。
10.根据权利要求6至9任一所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于在所述判断模块的判断结果为未发生域名劫持时,提取所述域名解析函数的返回结果中携带的IP地址;
第二访问模块,用于根据所述第二获取模块提取到的所述IP地址访问所述网页。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510066336.2A CN104683330A (zh) | 2015-02-06 | 2015-02-06 | 反域名劫持方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510066336.2A CN104683330A (zh) | 2015-02-06 | 2015-02-06 | 反域名劫持方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104683330A true CN104683330A (zh) | 2015-06-03 |
Family
ID=53317926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510066336.2A Pending CN104683330A (zh) | 2015-02-06 | 2015-02-06 | 反域名劫持方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104683330A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105245550A (zh) * | 2015-10-29 | 2016-01-13 | 广州酷狗计算机科技有限公司 | 域名劫持判定方法和装置 |
CN105338187A (zh) * | 2015-11-16 | 2016-02-17 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105897947A (zh) * | 2016-04-08 | 2016-08-24 | 网宿科技股份有限公司 | 移动终端的网络访问方法和装置 |
CN106330849A (zh) * | 2015-07-07 | 2017-01-11 | 安恒通(北京)科技有限公司 | 防止域名劫持的方法和装置 |
CN107172096A (zh) * | 2017-07-06 | 2017-09-15 | 苏州蜗牛数字科技股份有限公司 | 一种防止dns截持的方法 |
CN107635027A (zh) * | 2017-09-27 | 2018-01-26 | 网易(杭州)网络有限公司 | 一种域名解析方法、介质、装置和计算设备 |
CN110266830A (zh) * | 2019-06-17 | 2019-09-20 | 四川长虹电器股份有限公司 | 域名系统劫持的修复方法及系统 |
CN111372205A (zh) * | 2020-02-28 | 2020-07-03 | 维沃移动通信有限公司 | 信息提示方法及电子设备 |
CN112528296A (zh) * | 2021-02-10 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 漏洞检测方法、装置和存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080288774A1 (en) * | 2007-05-16 | 2008-11-20 | Telnic Limited | Contact Information Retrieval System and Communication System Using the Same |
CN102843445A (zh) * | 2012-09-29 | 2012-12-26 | 北京奇虎科技有限公司 | 一种浏览器及其进行域名解析的方法 |
CN102855334A (zh) * | 2012-09-29 | 2013-01-02 | 北京奇虎科技有限公司 | 一种浏览器及其获取dns解析数据的方法 |
CN102882991A (zh) * | 2012-09-29 | 2013-01-16 | 北京奇虎科技有限公司 | 一种浏览器及其进行域名解析的方法 |
CN103561121A (zh) * | 2013-10-11 | 2014-02-05 | 北京奇虎科技有限公司 | 一种dns的解析方法、装置和浏览器 |
CN104079673A (zh) * | 2014-07-30 | 2014-10-01 | 北京奇虎科技有限公司 | 一种应用下载中防止dns劫持的方法、装置和系统 |
-
2015
- 2015-02-06 CN CN201510066336.2A patent/CN104683330A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080288774A1 (en) * | 2007-05-16 | 2008-11-20 | Telnic Limited | Contact Information Retrieval System and Communication System Using the Same |
CN102843445A (zh) * | 2012-09-29 | 2012-12-26 | 北京奇虎科技有限公司 | 一种浏览器及其进行域名解析的方法 |
CN102855334A (zh) * | 2012-09-29 | 2013-01-02 | 北京奇虎科技有限公司 | 一种浏览器及其获取dns解析数据的方法 |
CN102882991A (zh) * | 2012-09-29 | 2013-01-16 | 北京奇虎科技有限公司 | 一种浏览器及其进行域名解析的方法 |
CN103561121A (zh) * | 2013-10-11 | 2014-02-05 | 北京奇虎科技有限公司 | 一种dns的解析方法、装置和浏览器 |
CN104079673A (zh) * | 2014-07-30 | 2014-10-01 | 北京奇虎科技有限公司 | 一种应用下载中防止dns劫持的方法、装置和系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330849A (zh) * | 2015-07-07 | 2017-01-11 | 安恒通(北京)科技有限公司 | 防止域名劫持的方法和装置 |
WO2017004947A1 (zh) * | 2015-07-07 | 2017-01-12 | 安一恒通(北京)科技有限公司 | 防止域名劫持的方法和装置 |
CN105245550A (zh) * | 2015-10-29 | 2016-01-13 | 广州酷狗计算机科技有限公司 | 域名劫持判定方法和装置 |
CN105338187A (zh) * | 2015-11-16 | 2016-02-17 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105897947A (zh) * | 2016-04-08 | 2016-08-24 | 网宿科技股份有限公司 | 移动终端的网络访问方法和装置 |
CN105897947B (zh) * | 2016-04-08 | 2019-04-30 | 网宿科技股份有限公司 | 移动终端的网络访问方法和装置 |
CN107172096A (zh) * | 2017-07-06 | 2017-09-15 | 苏州蜗牛数字科技股份有限公司 | 一种防止dns截持的方法 |
CN107635027A (zh) * | 2017-09-27 | 2018-01-26 | 网易(杭州)网络有限公司 | 一种域名解析方法、介质、装置和计算设备 |
CN107635027B (zh) * | 2017-09-27 | 2021-03-30 | 网易(杭州)网络有限公司 | 一种域名解析方法、介质、装置和计算设备 |
CN110266830A (zh) * | 2019-06-17 | 2019-09-20 | 四川长虹电器股份有限公司 | 域名系统劫持的修复方法及系统 |
CN111372205A (zh) * | 2020-02-28 | 2020-07-03 | 维沃移动通信有限公司 | 信息提示方法及电子设备 |
CN112528296A (zh) * | 2021-02-10 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 漏洞检测方法、装置和存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104683330A (zh) | 反域名劫持方法和装置 | |
CN105808399B (zh) | 一种远程调试的方法和装置 | |
CN102137059B (zh) | 一种恶意访问的拦截方法和系统 | |
CN107635027B (zh) | 一种域名解析方法、介质、装置和计算设备 | |
CN106528659B (zh) | 浏览器跳转至应用程序的控制方法及装置 | |
CN113366815B (zh) | 网络资源请求方法、装置、电子设备以及存储介质 | |
CN111143723A (zh) | 页面跳转方法、装置、电子设备及存储介质 | |
CN108632219B (zh) | 一种网站漏洞检测方法、检测服务器、系统及存储介质 | |
CN103957284A (zh) | Dns行为的处理方法、装置及系统 | |
CN111147310A (zh) | 一种日志跟踪处理的方法、装置、服务器及介质 | |
CN115023699A (zh) | 恶意进程的检测方法、装置、电子设备及存储介质 | |
CN112291365A (zh) | 访问均衡处理方法、装置、计算机设备及存储介质 | |
CN113923008B (zh) | 一种恶意网站拦截方法、装置、设备及存储介质 | |
US20040122916A1 (en) | Establishment of network connections | |
CN111327588A (zh) | 一种网络访问安全检测方法、系统、终端和可读存储介质 | |
CN111064821A (zh) | 边缘节点的ip地址的确定方法和装置 | |
CN113783975A (zh) | 基于本地dns服务器的请求管理方法、装置、介质及设备 | |
CN102801740A (zh) | 木马病毒的阻止方法及装置 | |
CN112039869B (zh) | 一种网络访问关系的建立方法、装置、存储介质及设备 | |
CN110958160B (zh) | 网站检测方法、装置、系统以及计算机可读存储介质 | |
CN105915639B (zh) | 页面访问方法及装置 | |
CN111090515B (zh) | 一种访问控制方法、装置、终端设备及存储介质 | |
CN114301872A (zh) | 基于域名的访问方法及装置、电子设备、存储介质 | |
CN114265642A (zh) | 信息处理方法、装置、电子设备及计算机可读存储介质 | |
CN114143230B (zh) | 双栈用户dns解析时长计算方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 510660 Guangzhou City, Guangzhou, Guangdong, Whampoa Avenue, No. 315, self - made 1-17 Applicant after: Guangzhou KuGou Networks Co., Ltd. Address before: 510000 B1, building, No. 16, rhyme Road, Guangzhou, Guangdong, China 13F Applicant before: Guangzhou KuGou Networks Co., Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150603 |