CN111371641B - 网络检测方法及相关产品 - Google Patents
网络检测方法及相关产品 Download PDFInfo
- Publication number
- CN111371641B CN111371641B CN202010119591.XA CN202010119591A CN111371641B CN 111371641 B CN111371641 B CN 111371641B CN 202010119591 A CN202010119591 A CN 202010119591A CN 111371641 B CN111371641 B CN 111371641B
- Authority
- CN
- China
- Prior art keywords
- dns
- dns request
- request data
- network
- sent
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种网络检测方法及相关产品,该网络检测方法包括:终端设备统计累计发出的域名系统DNS请求数据包的数量;在接收到有效DNS响应的情况下,将累计发出的DNS请求数据包的数量清零;在累计发出的DNS请求数据包的数量不为零,并且累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,确定网络异常;第一DNS请求数据包为累计发出的DNS请求数据包中最早发出的DNS请求数据包。本申请实施例可以降低网络异常检测的功耗。
Description
技术领域
本申请涉及互联网技术领域,具体涉及一种网络检测方法及相关产品。
背景技术
目前,终端设备可以通过移动数据网络或者使用WiFi网络连接到互联网。当网络出现异常时,终端设备一般采用轮询方式,间隔一定时间,通过应用主动发起到指定网站的超文本传输协议(HyperText Transfer Protocol,HTTP)请求,去判定网络是否可用。
目前检测网络是否异常需要终端设备主动发起周期性的检测,而周期性的检测线程会占用不必要的中央处理器(central processing unit,CPU)资源,导致功耗增加。
发明内容
本申请实施例提供一种网络检测方法及相关产品,可以降低网络异常检测的功耗。
本申请实施例的第一方面提供了一种网络检测方法,包括:
统计累计发出的域名系统DNS请求数据包的数量;
在接收到有效DNS响应的情况下,将所述累计发出的DNS请求数据包的数量清零;
在所述累计发出的DNS请求数据包的数量不为零,并且所述累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,确定网络异常;所述第一DNS请求数据包为所述累计发出的DNS请求数据包中最早发出的DNS请求数据包。
本申请实施例的第二方面提供了一种网络检测装置,包括:
统计单元,用于统计累计发出的域名系统DNS请求数据包的数量;
处理单元,用于在接收到有效DNS响应的情况下,将所述累计发出的DNS请求数据包的数量清零;
确定单元,用于在所述累计发出的DNS请求数据包的数量不为零,并且所述累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,确定网络异常;所述第一DNS请求数据包为所述累计发出的DNS请求数据包中最早发出的DNS请求数据包。
本申请实施例的第三方面提供了一种终端设备,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如本申请实施例第一方面中的步骤指令。
本申请实施例的第四方面提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
本申请实施例的第五方面提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
本申请实施例中,终端设备统计累计发出的域名系统DNS请求数据包的数量;在接收到有效DNS响应的情况下,将所述累计发出的DNS请求数据包的数量清零;在所述累计发出的DNS请求数据包的数量不为零,并且所述累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,确定网络异常;所述第一DNS请求数据包为所述累计发出的DNS请求数据包中最早发出的DNS请求数据包。
本申请实施例中,在接收到有效DNS响应的情况下,将累计发出的DNS请求数据包的数量清零;在累计发出的DNS请求数据包的数量不为零,并且累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,确定网络异常。本申请实施例基于“只要有一个有效DNS响应,则表明网络畅通”的思想,只需要在一定时长内检测是否存在有效DNS响应即可判断网络是否异常,无需应用主动发起周期性的检测,可以降低网络异常检测的功耗。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种系统架构的结构示意图;
图2是本申请实施例提供的一种网络检测方法的流程示意图;
图3是本申请实施例提供的另一种网络检测方法的流程示意图;
图4是本申请实施例提供的一种网络检测方法的算法实现的流程示意图;
图5是本申请实施例提供的另一种网络检测方法的流程示意图;
图6为本申请实施例提供的一种网络检测装置的结构示意图;
图7是本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
本申请实施例所涉及到的终端设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(user equipment,UE),移动台(mobile station,MS),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为终端设备。
请参阅图1,图1是本申请实施例提供的一种系统架构的结构示意图,如图1所示,该系统架构包括服务器100和与服务器100通信连接的至少一个终端设备101。终端设备101上可以安装有客户端,服务器100上可以安装有服务端。客户端是指与服务器相对应,为客户提供本地服务的程序,比如提供网页浏览服务、图片浏览服务、视频播放服务等。服务端也是在服务器上安装的一段程序,服务端是为客户端服务的,服务的内容诸如向客户端提供计算或者应用服务,向客户端提供资源,保存客户端数据等,比如,服务端可以向客户端提供数据计算、数据下载等。服务器100可以直接与终端设备101通过互联网建立通信连接,服务端100也可以通过其他服务器与终端设备101通过互联网建立通信连接。本申请实施例不做限定。
请参阅图2,图2是本申请实施例提供的一种网络检测方法的流程示意图。如图2所示,该网络检测方法可以包括如下步骤。
201,终端设备统计累计发出的域名系统DNS请求数据包的数量。
本申请实施例中,终端设备可以通过域名系统(Domain Name System,DNS)统计模块统计累计发出的DNS请求数据包的数量。DNS统计模块具体可以通过协议栈中添加一段DNS收发数据包统计代码来实现。
其中,协议栈可以是Linux内核的传输控制协议(Transmission ControlProtocol,TCP)/网际协议(Internet Protocol,IP)协议栈。DNS收发数据包统计代码的编码量少,对Linux内核源代码的修改少,移植性好。
域名(Domain Name),又称网域,是由一串用点分隔的名字组成的网络上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。举例来说,常见的域名后缀可以包括.com、.net、.cn、.edu、.top、.xyz等。
由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过域名系统(Domain Name System,DNS)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。DNS是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
域名服务器(Domain Name Server,DNS),也可以称为DNS服务器,是进行域名(domain name)和与之相对应的IP地址(IP address)转换的服务器。DNS服务器中保存了域名(domain name)和与之相对应的IP地址(IP address)的表,以解析消息的域名。域名是网络(Internet)上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。
DNS服务器可以将一个域名解析到某一台服务器上,并且把网页文件放到这台服务器上,用户的电脑才知道去哪一台服务器获取这个域名的网页信息。每一个域名都至少要有两个DNS服务器,这样如果其中一个DNS服务器出现问题,另外一个也可以返回关于这个域名的数据。DNS服务器也可以有两个以上,但所有这些DNS服务器上的DNS记录都是相同的。
本申请实施例中,只要终端设备需要网络服务,则需要发送DNS请求数据包到DNS服务器,以获取域名对应的IP地址。DNS请求数据包可以位于各种网络请求中。比如,超文本传输协议(HyperText Transfer Protocol,HTTP)请求。常见的HTTP请求可以包括:GET、POST、HEAD、PUT、DELETE、CONNECT、TRACE、OPTIONS等。HTTP请求可以向WEB服务器请求服务。
本申请实施例中的DNS请求数据包可以存在于终端设备需要网络的各种场景。比如,终端设备中的应用A需要访问网络中的服务器B,终端设备中的应用C需要与网络中的服务器D维持心跳包等。
202,终端设备在接收到有效DNS响应的情况下,将上述累计发出的DNS请求数据包的数量清零。
本申请实施例中,有效DNS响应是与无效DNS响应对应的。有效DNS响应指的是返回的IP地址是有效的DNS服务器反馈的。而无效DNS响应指的是返回的IP地址是无效的DNS服务器反馈的或者是错误的IP地址。比如,无效DNS响应可以包括DNS错误、访问的错误的DNS服务器地址等。
本申请实施例中,终端设备可以维持一个DNS请求数据包的统计模块,用于统计终端设备在一段时间(比如,过去的15秒)内累计发出的DNS请求数据包的数量。该统计模块还用于统计终端设备在一段时间(比如,过去的15秒)内累计发出的DNS请求数据包的参数。该DNS请求数据包的参数可以包括该DNS请求数据包的发送时间点。可选的,该DNS请求数据包的参数还可以包括该DNS请求数据包的大小、该DNS请求数据包携带的域名等。
终端设备在接收到有效DNS响应的情况下,表明终端设备的网络可用,即Internet可用,此时,终端设备将所述累计发出的DNS请求数据包的数量清零,重新统计累计发出的DNS请求数据包的数量,终端设备继续统计终端设备在接下来的一段时间(比如,接下来的15秒)内累计发出的DNS请求数据包的数量。如果终端设备在接下来的一段时间(比如,接下来的15秒)内接收到有效DNS响应,则继续将所述累计发出的DNS请求数据包的数量清零,继续循环执行下一步骤,直到执行步骤203停止。
203,在上述累计发出的DNS请求数据包的数量不为零,并且上述累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,终端设备确定网络异常;上述第一DNS请求数据包为上述累计发出的DNS请求数据包中最早发出的DNS请求数据包。
本申请实施例中,终端设备发出DNS请求数据包后,如果网络异常,则终端设备不会收到有效DNS响应;如果网络正常,则终端设备会发出该DNS请求数据包后在一段时间内收到与该DNS请求数据包对应的有效DNS响应。该一段时间与网络延迟有关,一般而言,网络延迟越大,收到对应的有效DNS响应越慢;网络延迟越小,收到对应的有效DNS响应越快。举例来说,该一段时间可以设置为15秒。
在上述累计发出的DNS请求数据包的数量不为零,并且上述累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,表明终端设备在发出DNS请求数据后的第一阈值的时长内没有收到与该DNS请求数据对应的有效DNS响应,则认为网络异常。网络异常可以包括网络连接异常,比如,网络不可用,网络出现故障等。导致网络异常的原因可能有如下:终端设备所在的网络信号不好、终端设备的网络设置没设置好、终端设备同时断开了移动数据网络(比如,欠费导致运营商无法提供网络服务、手动关闭移动数据网络开关)和WiFi网络(手动关闭WiFi网络开关)等。
可选的,当终端设备检测到网络异常后,会向用户反馈提示信息,以提醒用户网络异常。
可选的,在上述累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长小于或等于第一阈值的情况下,若终端设备接收到有效DNS响应,则终端设备确定网络正常。当终端设备检测到网络正常后,继续执行步骤201至步骤203。
本申请实施例中,在接收到有效DNS响应的情况下,将累计发出的DNS请求数据包的数量清零;在累计发出的DNS请求数据包的数量不为零,并且累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,确定网络异常。本申请实施例基于“只要有一个有效DNS响应,则表明网络畅通”的思想,只需要在一定时长内检测是否存在有效DNS响应即可判断网络是否异常,提高网络异常检测的准确率,并且无需应用主动发起周期性的检测,可以降低网络异常检测的功耗。
请参阅图3,图3是本申请实施例提供的另一种网络检测方法的流程示意图。如图3所示,该网络检测方法可以包括如下步骤。
301,终端设备统计累计发出的域名系统DNS请求数据包的数量。
302,终端设备在接收到有效DNS响应的情况下,将上述累计发出的DNS请求数据包的数量清零。
本申请实施例中的步骤301至步骤302可以参加图2所示的步骤201至步骤202,此处不再赘述。
303,在上述累计发出的DNS请求数据包的数量为零的情况下,发出第一DNS请求数据包,将发出上述第一DNS请求数据包的发送时间点作为当前时间窗口的起始时间,上述当前时间窗口的时长为第一阈值;上述第一DNS请求数据包为上述累计发出的DNS请求数据包中最早发出的DNS请求数据包。
304,若上述当前时间点与上述第一DNS请求数据包的发送时间点之间差值的绝对值的时长大于上述第一阈值,并且上述累计发出的DNS请求数据包的数量不为零,确定网络异常。
本申请实施例中,可以在Linux内核TCP/IP协议栈中,添加一段DNS收发数据包统计代码,同时设定一个时间窗口(比如,时间窗口的长度可以设置为15秒,用户可配置)和一个DNS发送包数量统计变量。
当收到网络(Internet)的有效DNS响应时,将DNS发送包数量统计变量清零。
当发出DNS请求时,若DNS发送包数量统计变量为零,则将此时间点标记为窗口起始时间。
当发出DNS请求时,将DNS发送包数量统计变量累加。
每次发出DNS请求时,执行如下检测:若距离窗口起始时间的差值已超过当前时间窗口的长度、并且DNS发送包数量统计变量不为0,则说明在当前时间窗口内存在DNS无响应的异常,表明终端设备到Internet网络不可达。
图3所示的方法的具体实现细节可以参见图4,图4是本申请实施例提供的一种网络检测方法的算法实现的流程示意图。如图4所示,该算法实现可以包括如下步骤:
首先,在TCP/IP协议栈中,插入DNS统计模块,其包含如下三个变量:
a)、已发出的DNS请求包的数量:dnsTxNumber;
b)、窗口起始时间:firstDnsReqTime,其等于“在dnsTxNumber=0时发出DNS请求的时间”;
c)、窗口长度:checkWindow,比如等于15秒,用户可配置;
其次,当Linux内核收到外部网络送来的有效DNS响应时,将已发出的DNS请求包的数量清零,dnsTxNumber=0;
再次,当Linux内核发出DNS请求时,若(dnsTxNumber为0),则firstDnsReqTime=当前时间;将已发出的DNS请求包的数量累加,dnsTxNumber++;
最后,当满足如下2个条件时,则标记一次网络异常;
a)、距离首次DNS发起的时间差(当前时间-firstDnsReqTime)>=窗口长度(checkWindow)
b)、已发出的DNS请求包的数量(dnsTxNumber)>0
此外,当标记网络异常后,可以准确地通知用户:Internet不可达,同时将dnsTxNumber清零。
本申请实施例具体如下优点:(1),算法简单有效,巧妙运用了“一个有效DNS响应表明网络畅通,发送窗口满时,若存在多个DNS请求累积,则表明网络(Internet)不可达”的特性。(2)、编码量少,对Linux内核源代码的修改少,移植性好。(3)、基于事件驱动的方式,在内核中自动捕获异常,避免应用轮询,低功耗。
本申请实施例中,在接收到有效DNS响应的情况下,将累计发出的DNS请求数据包的数量清零;在累计发出的DNS请求数据包的数量为零的情况下,发出第一DNS请求数据包,将发出第一DNS请求数据包的发送时间点作为当前时间窗口的起始时间,当前时间窗口的时长为第一阈值;若当前时间点与第一DNS请求数据包的发送时间点之间差值的绝对值的时长大于第一阈值,并且累计发出的DNS请求数据包的数量不为零,确定网络异常。本申请实施例基于“一个有效DNS响应表明网络畅通,发送窗口满时,若存在多个DNS请求累积,则表明网络异常”的思想,只需要在发送窗口内检测是否存在有效DNS响应即可判断网络是否异常,提高网络异常检测的准确率,并且无需应用主动发起周期性的检测,可以降低网络异常检测的功耗。
请参阅图5,图5是本申请实施例提供的另一种网络检测方法的流程示意图。如图5所示,该网络检测方法可以包括如下步骤。
501,终端设备统计累计发出的域名系统DNS请求数据包的数量。
本申请实施例中的步骤501可以参加图2所示的步骤201,此处不再赘述。
502,终端设备检测接收到的DNS响应是否为有效DNS响应。
本申请实施例中,终端设备可以通过DNS响应中的IP地址判断该DNS响应是否为有效DNS响应。比如,终端设备可以判断该DNS响应中的IP地址是否为有效DNS服务器反馈的,若是,则确定该DNS响应为有效DNS响应。
可选的,步骤502可以包括如下步骤:
(11)终端设备接收DNS应答报文,解析所述DNS应答报文,获取所述DNS应答报文中的标识字段;
(12)终端设备检测历史发送的DNS请求报文中是否存在与所述DNS应答报文中的标识字段相同的标识字段;
(13)若存在,则终端设备确定所述DNS应答报文为有效DNS响应。
(14)若不存在,则终端设备确定所述DNS应答报文为无效DNS响应。
本申请实施例中,DNS应答报文中的标识字段可以包括客户端请求ID,客户端请求标识(Identity document,ID)是为了保证收到DNS服务器返回报文时能正确知道是哪一个请求的响应报文。所以一个完整的DNS请求和响应,里面请求(request)和响应(response)的ID必须保持一致。
具体的,终端设备接收DNS应答报文,解析所述DNS应答报文,获取所述DNS应答报文中的标识字段;终端设备检测当前时间窗口内发送的DNS请求报文中是否存在与所述DNS应答报文中的标识字段相同的标识字段。本申请实施例通过检测当前时间窗口内发送的DNS请求报文中是否存在与所述DNS应答报文中的标识字段相同的标识字段来确定接收到的DNS响应是否为有效DNS响应,可以准确的确定接收的DNS应答报文是否与当前时间窗口内发送的DNS请求报文对应,从而可以准确的检测接收到的DNS响应是否为有效DNS响应。
503,若终端设备接收到的DNS响应为有效DNS响应,则终端设备确定接收到有效DNS响应,将上述累计发出的DNS请求数据包的数量清零。
504,在上述累计发出的DNS请求数据包的数量为零的情况下,发出第一DNS请求数据包,将发出上述第一DNS请求数据包的发送时间点作为当前时间窗口的起始时间,上述当前时间窗口的时长为第一阈值;上述第一DNS请求数据包为上述累计发出的DNS请求数据包中最早发出的DNS请求数据包。
505,若上述当前时间点与上述第一DNS请求数据包的发送时间点之间差值的绝对值的时长大于上述第一阈值,并且上述累计发出的DNS请求数据包的数量不为零,确定网络异常。
可选的,第一阈值基于前台应用确定。若前台应用为延时敏感的应用(比如,游戏应用),则第一阈值设置的相对较小(比如,5秒);若前台应用为延时不敏感的应用(比如,短距离通信应用),则第一阈值设置的相对较大(比如,20秒)。
可选的,第一阈值基于是否有前台应用确定。若存在前台应用,则第一阈值设置的相对较小(比如,10秒);若不存在前台应用,则第一阈值设置的相对较大(比如,60秒)。
本申请实施例可以根据是否存在前台应用,或者根据前台应用的类型来确定第一阈值的大小,可以适配不同的网络异常检测的场景,提高用户体验。
可选的,终端设备发送的网络请求包括所述DNS请求数据包。
本申请实施例中,只要终端设备需要网络服务,则需要发送DNS请求数据包到DNS服务器,以获取域名对应的IP地址。DNS请求数据包可以位于各种网络请求(比如,HTTP请求)中。
可选的,在执行步骤505之后,还可以执行如下步骤:
终端设备生成提示消息,所述提示消息用于提示用户网络异常。
当终端设备检测到网络异常后,会向用户反馈提示信息,以提醒用户网络异常。
本申请实施例中的步骤504~505可以参加图3所示的步骤303~304,此处不再赘述。
本申请实施例中,在接收到有效DNS响应的情况下,将累计发出的DNS请求数据包的数量清零;在累计发出的DNS请求数据包的数量为零的情况下,发出第一DNS请求数据包,将发出第一DNS请求数据包的发送时间点作为当前时间窗口的起始时间,当前时间窗口的时长为第一阈值;若当前时间点与第一DNS请求数据包的发送时间点之间差值的绝对值的时长大于第一阈值,并且累计发出的DNS请求数据包的数量不为零,确定网络异常。本申请实施例基于“一个有效DNS响应表明网络畅通,发送窗口满时,若存在多个DNS请求累积,则表明网络异常”的思想,只需要在发送窗口内检测是否存在有效DNS响应即可判断网络是否异常,提高网络异常检测的准确率,并且无需应用主动发起周期性的检测,可以降低网络异常检测的功耗。本申请实施例通过检测当前时间窗口内发送的DNS请求报文中是否存在与所述DNS应答报文中的标识字段相同的标识字段来确定接收到的DNS响应是否为有效DNS响应,可以准确的确定接收的DNS应答报文是否与当前时间窗口内发送的DNS请求报文对应,从而可以准确的检测接收到的DNS响应是否为有效DNS响应。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,终端设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对终端设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
与上述一致的,请参阅图6,图6为本申请实施例提供的一种网络检测装置的结构示意图,该网络检测装置600应用于终端设备,该网络检测装置600可以包括统计单元601、处理单元602和确定单元603:其中:
所述统计单元601,用于统计累计发出的域名系统DNS请求数据包的数量;
所述处理单元602,用于在接收到有效DNS响应的情况下,将所述累计发出的DNS请求数据包的数量清零;
所述确定单元603,用于在所述累计发出的DNS请求数据包的数量不为零,并且所述累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,确定网络异常;所述第一DNS请求数据包为所述累计发出的DNS请求数据包中最早发出的DNS请求数据包。
可选的,所述确定单元603在所述累计发出的DNS请求数据包的数量不为零,并且所述累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,确定网络异常,具体为:在所述累计发出的DNS请求数据包的数量为零的情况下,发出所述第一DNS请求数据包,将发出所述第一DNS请求数据包的发送时间点作为当前时间窗口的起始时间,所述当前时间窗口的时长为所述第一阈值;在所述当前时间点与所述第一DNS请求数据包的发送时间点之间差值的绝对值的时长大于所述第一阈值,并且所述累计发出的DNS请求数据包的数量不为零的情况下,确定网络异常。
可选的,该网络检测装置600还可以包括检测单元604。
所述检测单元604,用于在所述处理单元602在接收到有效DNS响应的情况下,将所述累计发出的DNS请求数据包的数量清零之前,检测接收到的DNS响应是否为有效DNS响应;在接收到的DNS响应为有效DNS响应的情况下,确定接收到有效DNS响应。
可选的,所述检测单元604检测接收到的DNS响应是否为有效DNS响应,具体为:接收DNS应答报文,解析所述DNS应答报文,获取所述DNS应答报文中的标识字段;检测历史发送的DNS请求报文中是否存在与所述DNS应答报文中的标识字段相同的标识字段;在所述历史发送的DNS请求报文中存在与所述DNS应答报文中的标识字段相同的标识字段的情况下,确定所述DNS应答报文为有效DNS响应。
可选的,所述第一阈值基于前台应用确定。
可选的,终端设备发送的网络请求包括所述DNS请求数据包。
可选的,该网络检测装置600还可以包括提示单元605。
提示单元605,用于在所述确定单元603确定网络异常之后,生成提示消息,所述提示消息用于提示用户网络异常。
其中,本申请实施例中的统计单元601、处理单元602、确定单元603、检测单元604和提示单元605可以是终端设备中的处理器。
本申请实施例中,在接收到有效DNS响应的情况下,将累计发出的DNS请求数据包的数量清零;在累计发出的DNS请求数据包的数量不为零,并且累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,确定网络异常。本申请实施例基于“只要有一个有效DNS响应,则表明网络畅通”的思想,只需要在一定时长内检测是否存在有效DNS响应即可判断网络是否异常,提高网络异常检测的准确率,并且无需应用主动发起周期性的检测,可以降低网络异常检测的功耗。
请参阅图7,图7是本申请实施例提供的一种终端设备的结构示意图,如图7所示,该终端设备700包括处理器701和存储器702,处理器701、存储器702可以通过通信总线703相互连接。通信总线703可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。通信总线703可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器702用于存储计算机程序,计算机程序包括程序指令,处理器701被配置用于调用程序指令,上述程序包括用于执行图2所示的方法。
处理器701可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
存储器702可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
此外,该终端设备700还可以包括通信接口、天线等通用部件,在此不再详述。
本申请实施例中,在接收到有效DNS响应的情况下,将累计发出的DNS请求数据包的数量清零;在累计发出的DNS请求数据包的数量不为零,并且累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,确定网络异常。本申请实施例基于“只要有一个有效DNS响应,则表明网络畅通”的思想,只需要在一定时长内检测是否存在有效DNS响应即可判断网络是否异常,提高网络异常检测的准确率,并且无需应用主动发起周期性的检测,可以降低网络异常检测的功耗。
本申请实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种网络检测方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在申请明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器、随机存取器、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种网络检测方法,其特征在于,包括:
统计累计发出的域名系统DNS请求数据包的数量;
在接收到有效DNS响应的情况下,将所述累计发出的DNS请求数据包的数量清零;所述有效DNS响应指的是返回的IP地址是有效的DNS服务器反馈的;
在所述累计发出的DNS请求数据包的数量不为零,并且所述累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,确定网络异常;所述第一DNS请求数据包为所述累计发出的DNS请求数据包中最早发出的DNS请求数据包。
2.根据权利要求1所述的方法,其特征在于,所述在所述累计发出的DNS请求数据包的数量不为零,并且所述累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,确定网络异常,包括:
在所述累计发出的DNS请求数据包的数量为零的情况下,发出所述第一DNS请求数据包,将发出所述第一DNS请求数据包的发送时间点作为当前时间窗口的起始时间,所述当前时间窗口的时长为所述第一阈值;
若所述当前时间点与所述第一DNS请求数据包的发送时间点之间差值的绝对值的时长大于所述第一阈值,并且所述累计发出的DNS请求数据包的数量不为零,确定网络异常。
3.根据权利要求1或2所述的方法,其特征在于,所述在接收到有效DNS响应的情况下,将所述累计发出的DNS请求数据包的数量清零之前,所述方法还包括:
检测接收到的DNS响应是否为有效DNS响应;
若接收到的DNS响应为有效DNS响应,则确定接收到有效DNS响应。
4.根据权利要求3所述的方法,其特征在于,所述检测接收到的DNS响应是否为有效DNS响应,包括:
接收DNS应答报文,解析所述DNS应答报文,获取所述DNS应答报文中的标识字段;
检测历史发送的DNS请求报文中是否存在与所述DNS应答报文中的标识字段相同的标识字段;
若存在,则确定所述DNS应答报文为有效DNS响应。
5.根据权利要求1~2任一项所述的方法,其特征在于,所述第一阈值基于前台应用确定。
6.根据权利要求1~2任一项所述的方法,其特征在于,所述DNS请求数据包位于终端设备发送的网络请求中。
7.根据权利要求1~2任一项所述的方法,其特征在于,所述确定网络异常之后,所述方法还包括:
生成提示消息,所述提示消息用于提示用户网络异常。
8.一种网络检测装置,其特征在于,包括:
统计单元,用于统计累计发出的域名系统DNS请求数据包的数量;
处理单元,用于在接收到有效DNS响应的情况下,将所述累计发出的DNS请求数据包的数量清零;所述有效DNS响应指的是返回的IP地址是有效的DNS服务器反馈的;
确定单元,用于在所述累计发出的DNS请求数据包的数量不为零,并且所述累计发出的DNS请求数据包中的第一DNS请求数据包的发送时间点与当前时间点之间差值的绝对值的时长大于第一阈值的情况下,确定网络异常;所述第一DNS请求数据包为所述累计发出的DNS请求数据包中最早发出的DNS请求数据包。
9.一种终端设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1~7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119591.XA CN111371641B (zh) | 2020-02-26 | 2020-02-26 | 网络检测方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119591.XA CN111371641B (zh) | 2020-02-26 | 2020-02-26 | 网络检测方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111371641A CN111371641A (zh) | 2020-07-03 |
CN111371641B true CN111371641B (zh) | 2021-11-16 |
Family
ID=71212612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010119591.XA Active CN111371641B (zh) | 2020-02-26 | 2020-02-26 | 网络检测方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111371641B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013078671A1 (zh) * | 2011-12-02 | 2013-06-06 | 华为技术有限公司 | 一种故障检测方法、网关、用户设备及通信系统 |
CN106789422A (zh) * | 2016-12-16 | 2017-05-31 | 杭州迪普科技股份有限公司 | 一种dns服务器的监测方法及装置 |
CN110247999A (zh) * | 2019-07-11 | 2019-09-17 | 广东美的制冷设备有限公司 | 域名解析方法、域名解析装置、家电设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9843601B2 (en) * | 2011-07-06 | 2017-12-12 | Nominum, Inc. | Analyzing DNS requests for anomaly detection |
CN105515896B (zh) * | 2015-11-30 | 2019-02-15 | 青岛海信移动通信技术股份有限公司 | 一种移动终端网络阻塞的判断方法和装置 |
CN108471369B (zh) * | 2018-06-27 | 2021-01-15 | 深圳创维数字技术有限公司 | 一种网络拨号方法、装置及存储介质 |
CN109246116A (zh) * | 2018-09-26 | 2019-01-18 | 北京云端智度科技有限公司 | 一种基于dns日志分析的网络异常检测系统 |
-
2020
- 2020-02-26 CN CN202010119591.XA patent/CN111371641B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013078671A1 (zh) * | 2011-12-02 | 2013-06-06 | 华为技术有限公司 | 一种故障检测方法、网关、用户设备及通信系统 |
CN106789422A (zh) * | 2016-12-16 | 2017-05-31 | 杭州迪普科技股份有限公司 | 一种dns服务器的监测方法及装置 |
CN110247999A (zh) * | 2019-07-11 | 2019-09-17 | 广东美的制冷设备有限公司 | 域名解析方法、域名解析装置、家电设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111371641A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347958B2 (en) | Computer configured to display multimedia content | |
CN109561141B (zh) | 一种cdn节点的选择方法及设备 | |
US10491676B2 (en) | Information sharing method, information sharing apparatus, and electronic device | |
EP3262552B1 (en) | Methods, apparatus, and systems for identity authentication | |
CN109547286B (zh) | 一种cdn节点的选择方法、设备及存储介质 | |
CN113366815B (zh) | 网络资源请求方法、装置、电子设备以及存储介质 | |
CN113316926B (zh) | 域名处理方法、装置、电子设备以及存储介质 | |
CN111106983B (zh) | 一种检测网络连通性的方法及装置 | |
CN108574721B (zh) | 一种登录方法、装置和服务器、用户终端、可读存储介质 | |
CN115208951A (zh) | 请求处理方法、装置、电子设备及计算机可读存储介质 | |
CN107231389B (zh) | 一种扫码操作方法及设备 | |
CN111371641B (zh) | 网络检测方法及相关产品 | |
CN112672187B (zh) | 页面生成方法、装置、计算机设备及可读存储介质 | |
EP3923524A1 (en) | Selecting a communication channel for omnichannel message delivery | |
CN109951549B (zh) | 网络页面的访问方法、装置及计算机可读存储介质 | |
US7806327B2 (en) | System and method for accessing information while monitoring a frequency of access | |
CN112565482B (zh) | 电子设备、域名查询方法及相关产品 | |
CN109600283B (zh) | 即时通讯网络质量的检测方法及系统 | |
CN111401490A (zh) | 二维码获得方法及相关装置 | |
CN114143230B (zh) | 双栈用户dns解析时长计算方法及装置 | |
CN114760228A (zh) | 一种网速测试方法、装置、智能设备及存储介质 | |
CN116302704A (zh) | 一种用于应用程序的页面恢复方法、电子设备及存储介质 | |
CN115002000A (zh) | 异常接口容错方法、装置、设备及存储介质 | |
CN106325986B (zh) | 页面迁移方法及装置 | |
CN114285654A (zh) | 一种检测攻击的方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |