一种实时流量监控方法及装置与流程

文档序号:11147728阅读:1037来源:国知局
一种实时流量监控方法及装置与制造工艺

本发明涉及网络通信领域,尤其涉及一种实时流量监控方法及装置。



背景技术:

网络通信领域中,面对网络流量的巨幅增长是一个常见技术难题。在一个主机上可以连接有一个或多个网卡设备,每个网卡设备与外界进行的数据交互,都给主机数据流量带来一定程度的负担。因而对网卡设备的数据流量进行监控是业内较为普遍的需求。

现有技术中,可以通过第三方的流量监控图,做出当前网络数据包的输出数目。而另一种方式是通过内核命令进行监控,可以输出一段时间内的带宽。

由于上述两种方式都不能够准确并且实时的反映出主机网络当前的流量,也不能够判断由那个端口产生,对于用户查获恶意IP不能提供有效的帮助。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的实时流量监控方法及装置。

一方面,本发明提供一种实时流量监控方法,该方法包括:

在单位时间统计与主机连接的每个网卡设备的当前流量值;

根据所述每个网卡设备的当前流量值及统计所述当前流量值的单位时间,计算所述主机的流量带宽;

根据所述流量带宽,确定与流量带宽匹配的每个网卡设备的流量参考值;

根据所述每个网卡设备的流量参考值对所述每个网卡设备进行流量监控。

另一方面,本发明还提供一种实时流量监控装置,包括:

统计单元,用于在单位时间统计与主机连接的每个网卡设备的当前流量值;

计算单元,用于根据所述统计单元统计的每个网卡设备的当前流量值及统计所述当前流量值的单位时间,计算所述主机的流量带宽;

确定单元,用于根据所述计算单元计算得到的流量带宽,确定与流量带宽匹配的每个网卡设备的流量参考值;

监控单元,用于根据所述确定单元确定的每个网卡设备的流量参考值对所述每个网卡设备进行流量监控。

本发明提供的实时流量监控方法及装置,通过在单位时间统计与主机连接的每个网卡设备的当前流量值,计算主机的流量带宽;确定与流量带宽匹配的每个网卡设备的流量参考值,并根据所述每个网卡设备的流量参考值对所述每个网卡设备进行流量监控,可以准确输实时监控任意网卡的流量,并且对每个网卡的统计可以在任何时间,实现实时的监控。在此基础上,还可以进一步判断流量占比大的端口,并且识别出恶意IP。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明提供的一种实时流量监控方法流程图;

图2示出了本发明提供的另一种实时流量监控方法流程图;

图3示出了本发明提供的一种实时流量监控装置示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更 透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

如图1所示,本发明的一个实施例中,提供一种实时流量监控方法,该方法可以包括以下步骤:

101、在单位时间统计与主机连接的每个网卡设备的当前流量值。

102、根据所述每个网卡设备的当前流量值及统计所述当前流量值的单位时间,计算所述主机的流量带宽。

值得说明的是,在主机操作系统运行时,主机的操作系统本身不会记录每一个进程的运行情况,以及是否正常运行。但是运行在主机上的进程的正常活动也可能存在隐患,本实施例的实时流量监控方法可以协助主机操作系统进行进程监控,该实时流量监控方法不仅可以实时分析进程的流量占用情况,还能够根据自定义的监控策略自动提示出现异常的可能大量占用流量的进程。其中,单位时间可以是指带宽的单位时间,即每秒比特。

103、根据所述流量带宽,确定与流量带宽匹配的每个网卡设备的流量参考值。

在本实施例中,主机首先获取当前主机操作系统所能读取到的网卡信息,根据网卡信息,将主机操作系统的数据流量进行格式转换;然后当监控到有流量输出时,根据网卡设备输出的流量值,确定当前流量的带宽;最后,根据当前流量的带宽,设置判断端口流量的参数值。根据所设置的参数值,判断端口流量是否正常;若分析端口流量正常,还可在预设时间内判断每个网卡设备对应的IP所占用带宽是否为最大,从而查出恶意IP。

104、根据所述每个网卡设备的流量参考值对所述每个网卡设备进行流量监控。

其中,根据所述每个网卡设备的流量参考值对所述每个网卡设备进行流量监控的具体流程可以但不限于包括:根据所述流量参考值,依次并循环地判断每个网卡的后续流量值是否正常;若第一网卡设备的后续流量值与所述流量参考值相符,则判断所述第一网卡设备为正常状态;若第二网卡设备的后续流量值超出所述流量参考值,则判断所述第二网卡设备的为异常状态。

在本实施例提供的实时流量监控方法中,通过在单位时间统计与主机连接的每个网卡设备的当前流量值,计算主机的流量带宽;确定与流量带宽匹配的每个网卡设备的流量参考值,并根据所述每个网卡设备的流量参考值对所述每个网卡设备进行流量监控,可以准确输实时监控任意网卡的流量,并且对每个网卡的统计可以在任何时间,实现实时的监控。在此基础上,还可以进一步判断流量占比大的端口,并且识别出恶意IP。

本发明的另一个实施例中,提供一种实时流量监控方法,如图2所示,该方法可以包括以下步骤:

201、获取所述网卡设备的设备信息;其中所述网卡设备连接在主机上,用于传输所述主机与所述主机之外的网络之间的往来数据。

其中,为了监控分析当前主机系统所连接的各个网卡的数据流量情况,可以先获取每个网卡的设备信息。并且,可以将设备信息和统计得到的流量情况实时的呈现给用户,以提供直观的监控数据。

202、在单位时间统计与主机连接的每个网卡设备的当前流量值。

其中,主机可以连接一个或多个网卡设备,每个网卡设备都可以用于主机与主机之外的网络通信数据往来。主机可以读取到每个网卡通过的数据包数量和数据包大小。

203、将所述每个网卡设备的当前流量值转换成人机交互的常用单位格式。

其中,主机读取到的带宽单位是机读常用单位,例如以bit为单位输出流量值,这不是用户易读的单位。因此,在本实施例中可以把读取到的流量值转换为用户更容易读取的单位。例如,将bit单位的数据值转换成为以Mb、Kb或b为单位的数据值。

204、将转换后的所述当前流量值与所述设备信息对应地显示。

其中,显示当前系统中的网卡,在监控分析流量时要先列出当前主机的网卡设备的设备名的信息。

205、根据所述每个网卡设备的当前流量值及统计所述当前流量值的单位时间,计算所述主机的流量带宽。

在本步骤中,可以在任意时间内监控网卡流量,而现有技术的第三方 监控图只能够做出当前网络包的输出数目不能判断出流量带宽,还有现有的采用内核命令进行流量监控的方法,也是只能够输出一段时间内的带宽,不能够做实时判断。而本实施例中的实时流量分析,根据网卡设备输出的值轮询开始做判断,也就是说对监控的每个网卡轮流进行数据流量值的判断。并且,结合带宽单位转换可以计算得到当前流量的带宽,从而可以准确输出主机当前的流量带宽。

206、根据所述流量带宽,确定与流量带宽匹配的每个网卡设备的流量参考值。

其中,统计每个网卡设备端口在一段时间内的平均流量。以客户端和服务端口威力,基于客户端和服务端端口统计,可以通过统计数据识别出占流量比较大的端口。例如:对于是80端口的web服务器,可以判断当前流量带宽是否符合80端口流量的常规值。进一步的,利用linux内核tcpdump的抓包工具可以统计端口发送的流量包的数量。最后,结合统计得到的当前流量值和该网卡设备所占用的连接数,可以计算出当前网卡设备端口的流量平均值,该平均值即可作为该网卡设备的流量参考值。

207、根据所述流量参考值,依次并循环地判断每个网卡的后续流量值是否正常。

208、若步骤207中第一网卡设备的后续流量值与所述流量参考值相符,则判断所述第一网卡设备为正常状态。

209、在步骤208之后,在预设时间内判断所述第一网卡对应的IP占用带宽是否为被监控的多个网卡中最大的一个。

在本步骤中,可以通过将各个网卡的数据流量值进行比较,识别出单位时间内占用带宽最大的IP,从而可以分析出该占用带宽最大的IP是否为恶意占用的IP。

210、若步骤207中第二网卡设备的后续流量值超出所述流量参考值,则判断所述第二网卡设备的为异常状态。

在本步骤中,可以对每个网卡设备做一个轮询判断。如果在一段时间内某个IP占用的带宽值一直较大,以协助用户查处恶意IP。

211、在步骤210之后,针对所述第二网卡发出异常警报。

在本步骤中,通过上一步骤中的判断确定存在占用大量带宽的疑似恶意IP时,可以发出警报以提醒用户进行查看,以供用户判断长期大量占用带宽的IP是否属于恶意IP。

采用上述步骤207至步骤211的处理过程,可以通过实时流量监控分析主机所连接网络,并做出合理判断,从而通过网络监控和本地进程的综合监控,实现对主机上运行的各种应用进程进行实时监视。

在本实施例中提供的实时流量监控方法,在单位时间统计与主机连接的每个网卡设备的当前流量值,计算主机的流量带宽;确定与流量带宽匹配的每个网卡设备的流量参考值,并根据所述每个网卡设备的流量参考值对所述每个网卡设备进行流量监控,可以准确输实时监控任意网卡的流量,并且对每个网卡的统计可以在任何时间,实现实时的监控。在此基础上,还可以进一步判断流量占比大的端口,并且识别出恶意IP。

本发明的另一实施例提供一种实时流量监控装置,如图3所示,该装置包括:统计单元31、计算单元32、确定单元33和监控单元34。

统计单元31,用于在单位时间统计与主机连接的每个网卡设备的当前流量值;

计算单元32,用于根据所述统计单元31统计的每个网卡设备的当前流量值及统计所述当前流量值的单位时间,计算所述主机的流量带宽;

确定单元33,用于根据所述计算单元32计算得到的流量带宽,确定与流量带宽匹配的每个网卡设备的流量参考值;

监控单元34,用于根据所述确定单元33确定的每个网卡设备的流量参考值对所述每个网卡设备进行流量监控。

进一步可选的,在该实时流量监控装置中,所述监控单元34还用于:

根据所述确定单元33确定的流量参考值,依次并循环地判断每个网卡的后续流量值是否正常;

若第一网卡设备的后续流量值与所述流量参考值相符,则判断所述第一网卡设备为正常状态;

若第二网卡设备的后续流量值超出所述流量参考值,则判断所述第二网卡设备的为异常状态。

进一步可选的,所述实时流量监控装置还包括:判断单元35。

判断单元35,用于当所述监控单元34判断所述第一网卡设备为正常状态时,在预设时间内判断所述第一网卡对应的IP占用带宽是否为被监控的多个网卡中最大的一个。

进一步可选的,所述实时流量监控装置还包括:警报单元36。

警报单元36,用于当所述监控单元34判断所述第二网卡设备为异常状态时,针对所述第二网卡发出异常警报。

进一步可选的,所述实时流量监控装置还包括:获取单元37、转换单元38和显示单元39。

获取单元37,用于获取所述网卡设备的设备信息;其中所述网卡设备连接在主机上,用于传输所述主机与所述主机之外的网络之间的往来数据;

转换单元38,用于将所述统计单元31统计的每个网卡设备的当前流量值转换成人机交互的常用单位格式;

显示单元39,用于将所述转换单元38转换后的所述当前流量值与所述获取单元37获取到的设备信息对应地显示。

值得说明的是,本实施例提供的实时流量监控装置中的各单元的具体实现方法,可以参考上述方法实施例中对应的内容,本实施例这里不再重复赘述。

在本实施例中提供的实时流量监控装置,可以准确输实时监控任意网卡的流量,并且对每个网卡的统计可以在任何时间,实现实时的监控。在此基础上,还可以进一步判断流量占比大的端口,并且识别出恶意IP。

所述实时流量监控装置包括处理器和存储器,上述统计单元、计算单元、确定单元、监控单元判断单元、警报单元、获取单元、转换单元和显示单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来进行实时流量监控。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:在单位时间统计与主机连接的每个网卡设备的当前流量值;根据所述每个网卡设备的当前流量值及统计所述当前流量值的单位时间,计算所述主机的流量带宽;根据所述流量带宽,确定与流量带宽匹配的每个网卡设备的流量参考值;根据所述每个网卡设备的流量参考值对所述每个网卡设备进行流量监控。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的 功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1