用于流量监控的方法和装置的制造方法_2

文档序号:9399127阅读:来源:国知局
以对接收到的数据进行分析等处理,并将处理结果(例如反馈信息)发送给终端设备。
[0034]需要说明的是,本申请实施例所提供的流量监控的方法一般由终端设备101、102、103执行,相应地,流量监控装置一般设置于终端设备101、102、103中。
[0035]应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0036]继续参考图2,示出了根据本申请的流量监控的方法的一个实施例的流程200。所述的流量监控方法,包括以下步骤:
[0037]步骤201,调用数据包捕获函数库到系统操作平台,将利用所述数据包捕获函数库抓取到的数据传递给监控管理平台。
[0038]在本实施例中,流量监控方法运行于其上的终端设备(例如图1所示的终端设备101、102、103)。首先需要安装监控APP,再配置被监控APP的信息,如包名。同时,监控APP需要通过技术手段获取需要监控APP的网络交互的所有信息,即经过手机网卡的所有网络交互数据。最后通过监控APP过滤筛选网络交互的属性信息,丢弃具体的交互内容等无关数据。如获取基本属性IP地址,端口号等。如果是HTTP请求,获取RequestURL,ResponseURL,ContentLength等。如果是WebSocekt请求,获取内容区中CMD命令号(具体的不同实现方式,内容区会有差别),是否压缩等。
[0039]在将利用所述数据包捕获函数库抓取到的数据传递给监控管理平台时,可以以自定义协议的方式将利用所述数据包捕获函数库抓取到的数据传递给监控管理平台。
[0040]步骤202,利用所述监控管理平台中的解析工具对所述数据进行解析,分析得到的特征属性信息;其中,所述数据特征属性信息包括网络交互数据。
[0041]在本实施例中,监控App获取到的数据中通过分析自定义协议中的contentlength字段,确定当前条目监控数据是否读取完毕,如果没有读取完毕,将数据保存在缓存中继续读取。如果已经读取完毕,则将数据送入协议解析器中。清空缓存数据,继续下一条数据读取。解析器根据传入的数据分析头字段确定是否是TCP,UDP等协议,如果是则进行相应的解析操作。获取请求返回的IP地址,端口号等头字段。根据协议头字段中的SYN, ACK等字段确定是否某一条请求的开始,如果是则创建一个mysocket数据结构,内部封装请求和应到的IP地址、端口号和byte数组的内容。在某一个协议连接的过程中解析到相应的头字段的IP地址和端口号,找到相应的mysocket数据结构,向里面添加请求或者返回的byte数组内容。根据协议头字段中的FIN,ACK等字段确定某一条连接断开。在mysocket列表中删除匹配到的mysocket数据结构。将删除的mysocket中的数据表示信息如协议类别,端口号等信息做本地持久化存储。将mysocket中的内容数据content数组做上层协议解析,如HTTP等,将应用层的数据信息做相应的持久化存储。
[0042]需要说明的是,上述数据分析方式的各种方法是目前广泛研究和应用的公知技术,在此不再赘述。
[0043]步骤203,可以将所分析得到的特征属性信息进行持久化存储。
[0044]在本实施例中,通过分析本地持久化存储的数据协议信息可以分析相应的数据是否存在异常。由于任意一次请求的信息都做了相应的持久化存储,只要定好分析的规则,实现分析是非常容易的事情。在这里,需要说明的是,步骤203的将所分析得到的特征属性信息进行持久化存储为本实施例的流量监控的方法中的可选步骤。
[0045]步骤204,根据设定的异常特征信息对存储的所述特征属性信息进行数据分析。
[0046]在本实施例中,将分析后的报表数据上传后台服务器。后台服务器判断其中是否有异常数据项,如果存在异常数据项,发送邮件给提前配置好的邮件接收者,通知接收者异常数据的来源,以便接收者改进APP使用。提供报表数据的网页查看地址,按天分页,即一页为某一天的所有报表数据列表并提供搜索功能,可以精准搜索到某一次上传报表。
[0047]在一些可选的实现方式中,本实施例的流量监控的方法还可以包括:步骤205,通过网络交互将分析得到的数据传递给报表后台,其中,所述报表后台包括了数据存储和报表展现功能。
[0048]在实施例中,将流量分析完的数据通过后台接口实现上传,在计算机上面通过网页的方式展现,生成报表,便于观察。可以编辑发送邮件组数据。如果分析数据中存在异常数据,则发邮件给邮件组中的接收者,便于及时得到消息。
[0049]继续参考图3,示出了根据本申请的流量监控的方法的另一个实施例的流程300。所述的流量监控方法,包括以下步骤:
[0050]步骤301,将数据包捕获函数库编译为普通的Linux平台可执行文件。
[0051]在本实施例中,数据包捕获函数库是Unix/Linux平台下的网络数据包捕获函数库。它是一个独立于系统的用户层包捕获的API接口,为底层网络监测提供了一个可移植的框架。
[0052]步骤302,监控工具APP,通过执行普通Linux可执行文件的方式启动数据包捕获函数库应用。
[0053]步骤303,监控工具APP和数据包捕获函数库应用通过socket+自定义协议的方式通信。
[0054]步骤304,监控APP应用通过自定义协议传递参数给抓包库应用数据包捕获函数库,关闭数据包捕获函数库。
[0055]作为示例,请参见图4,图4是用于流量监控的功能相互调用的示意图400。
[0056]在本实施例中,大多数网络监控软件都以Unix/Linux平台下的网络数据包捕获函数库为基础。网络数据包捕获函数库提供了系统独立的用户级别网络数据包捕获接口,并充分考虑到应用程序的可移植性。网络数据包捕获函数库可以在绝大多数类Unix平台下工作。
[0057]进一步参考图5,作为对上述各图所示方法的实现,本申请提供了用于流量监控装置的一个实施例的结构示意图;该系统实施例与图2所示的方法实施例相对应,该系统具体可以应用于各种电子设备中。
[0058]如图5所示,本实施例所述的流量监控装置500包括:解析网络模块501、数据存储模块502、异常分析模块503、数据传输模块504、监控引擎模块505。其中,监控引擎模块505,配置用于调用数据包捕获函数库到系统操作平台,将利用上述数据包捕获函数库抓取到的数据以自定义协议的方式传递给监控管理平台;解析网络模块501,配置用于利用上述监控管理平台中的解析工具对上述数据进行解析,分析得到请求或者返回的特征属性信息;数据存储模块502,配置用于将所分析得到的特征属性信息进行持久化存储;异常分析模块503,配置用于根据设定的异常特征信息对存储的所述特征属性信息进行数据分析;数据传输模块504,配置用于通过网络交互将分析得到的数据传递给报表后台。另外,还包括连接件,用于实现与监控管理模块之间的通信;还有报表后台,用于实现将监控客户端分析后的流量分布情况和异常流量记录情况进行存储,以及按日查看监控提交记录,并针对某一条记录的详情提供支持搜索功能。
[0059]本领域技术人员可以理解,上述流量监控装置还包括一些其他公知结构,例如处理器、数据分析器等,为了不必要地模糊本公开的实施例,这些公知的结构在图5中未示出。
[0060]下面参考图6,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统600的结构示意图。
[0061]如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM) 602中的程序或者从存储部分608加载到随机访问存储器(RAM) 603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 60KROM 602以及RAM 603通过总线604彼此
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1