首页 > 范文大全 > 正文

互联网用户行为分析系统的设计和实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇互联网用户行为分析系统的设计和实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:本文设计和实现了一种互联网用户行为分析系统设计了系统的总体框架,系统由捕获模块、数据分析模块、数据图表生成模块和系统界面框架模块组成,并采用Java语言进行了编程实现,本系统产生的网络用户行为分析结果可以为互联网用户管理提供科学的依据。

关键词:用户行为;行为分析;抓包;网络协议

中图分类号:TP393.01

据中国互联网络信息中心(CNNIC)的第34次《中国互联网络发展状况统计报告》统计,我国互联网用户数量已超过6亿,如此庞大的互联网用户群体将产生大量的网络访问行为,如何从这些访问行为中发掘有用的数据模式,已成为当前研究的热点。互联网用户行为分析的结果可以为制定有针对性的网络营销策略提供科学的依据,同时,它还在帮助用户了解自身网络行为习惯、掌握误操作行为或不经意的恶意行为等方面提供统计数据。为了对互联用户行为分析进行分析,需要通过对网络流量进行抓包,抽取其特征信息,并对其源/目的IP地址、协议标志等特征域进行统计和分析,进而从中找出用户访问互联网的规律。

本文设计并实现了一种互联网用户行为分析系统,用于实时获取互联网网络用户的上网数据,并对这些数据进行分析,同时通过图形化界面显示用户行为分析的结果。

1 系统的设计和实现

1.1 系统总体设计

本文设计的互联网用户行为分析系统由数据捕获模块、数据分析模块、数据图表生成模块和系统界面框架模块组成。

系统运行的流程:本系统首先由数据捕获模块获取网络数据包,并截取其包头信息,抽取包头中源IP地址、目的IP地址、端口号等关键特征信息,存入数据库中并将实时捕获到的数据信息显示在系统界面中;数据分析模块通过对数据库中捕获到的特征信息进行统计和分析,进而得到可以反映用户行为特征的数据;图表模块根据数据分析模块得到的数据生成直观、易于理解、可以更好反映数据特征的图表并将图表显示在系统界面中;系统界面框架模块实现用户的操作以及信息的显示。

1.2 数据库设计

本系统采用MySql数据库系统存储运行过程中的用户行为数据,MySql是一种开源的数据库系统,其体积小、速度快、成本低,可以运行在多种操作系统平台上,由于其开源和免费特性,大量开发用户采用其作为数据库管理系统。

本系统设计的数据库包含三个数据表:捕获信息存储表data、数据分析结果表result、注册端口表tblregisteredports。

1.3 系统模块介绍

1.3.1 系统界面框架模块

系统界面主要用于与用户进行良好的交互,实现系统的操作。系统界面分成三个部分,第一部分是菜单栏,用于实现系统的操作,包括捕获器的设置、数据捕获的启动、对捕获到的数据的分析等操作;第二部分是实时显示表格,实现对实时捕获到的特征信息的显示;最后一部分是数据总大小标签,实时显示捕获到的数据的总量。

使用Java语言的具体实现方法如下:创建一个JFrame类对象做为主界面的框架,该主界面的框架分为三部分:菜单栏部分、表格部分、标签部分。主界面框架使用边界布局管理器进行布局,在主界面框架的NORTH、CENTER、SOUTH位置分别添加一个JPanel面板;在NORTH位置,面板中添加JMenuBar对象,并添加一系列菜单栏组件实现菜单栏功能。

在CENTER位置,先在面板JScrollPane类对象中添加JTable对象,再将JScrollPane类对象添加到Jpanel面板中,最后将用于显示实时的捕获特征信息在SOUTH位置,添加Jlabel类对象,通过不断更新标签上数据以实现显示捕获数据的大小。

1.3.2 数据捕获模块

数据捕获模块主要用于实现从主机中捕获用户的网络行为所产生的数据,捕获器设置界面所示,“选择网卡”下拉框用于选择要捕获的网卡,被选中网卡信息在“网卡信息”文本域中显示;“混杂模式”单选按钮用于实现对捕获模式的选择,选择“是”捕获所有经过网卡的数据包,包括不是发给本机的包,选择“否”仅捕获发给本机的数据包;“数据长度”文本框用于实现对一次捕获数据大小的设置;“超时时间”文本框用于实现对超时时间的设置。

数据捕获模块的实现方法如下:

首先通过第三方库Jpcap提供的JpcapCaptor类对象中getDeviceList方法来获取网卡列表信息,再通过其提供的openDevice方法来打开指定需要捕获的网卡,并设置相关的捕获器信息,之后通过getPacket()方法,主动捕获的方式进行数据包的捕获,进而对捕获到的数据进行过滤,获取UDP和TCP数据包,截取包头信息,抽取包头中源IP地址、目的IP地址、端口号等关键特征信息,最后将这些数据存储于数据库中。

1.3.3 数据分析模块

数据分析模块实现对原始捕获到的数据进行加工处理,进而获得所需要的数据。其实现方法如下为:在本机与所访问的服务器之间的信息交换过程中,通过获取信息交换过程中的端口号信息来获取网络行为的类型。基于这点,对于本机所采用的端口是无实质意义,只有服务器的端口号才具有相应的意义。

本模块实现数据分析的方法如下。如果获取的信息源IP是本地IP地址,那么相应的目的端口号即为服务器的端口号,如果获取的信息目的IP是本地IP地址,则源端口号几位服务器端口号。我们通过这种方式来处理原始数据,进而获取需要的数据信息。最后,再对处理后的数据通过流量活动情况、协议类型、流量趋势等几个方面进行统计分析,获得最后的数据。

1.3.4 图表显示模块

图表显示模块主要的功能是实现处理后的数据以图表的方式展示。通过界面中的按钮选择查看不同的数据分析图表。

本模块的实现方法为如下。使用来源于JAVA开源项目中JFreeChart来实现图表。首先构建图表的数据集,之后通过抽象类ChartFactory提供的createBarChart、createPieChart、createLineChart等方法来实现诸如条形图、饼图、折线图等。

1.3.5 界面美化模块

通过引用第三方的外观插件实现界面的美化,提升界面友好性。在运行程序之前,首先通过其提供的方法在主方法代码前加入关键代码以实现第三方外观插件加载,实现系统界面的美化。

2 结束语

本文设计和实现了一种互联网用户行为分析系统,通过对网络中的数据包进行捕获和分析,将看似无规律的网络行为数据进行加工、统计、分析和总结,从而获得具有一定价值的、可以反映用户网络行为特征的数据。本系统产生的网络用户行为分析结果可以帮助家长掌控和指导青少年正确的上网、帮助网络用户了解自身网络行为习惯、发现误操作行为或不经意的恶意行为,同时,它还可以为制定有针对性的网络营销策略提供科学的依据。

参考文献:

[1]李钟尉,陈丹丹.软件开发实战1200例[M].北京:清华大学出版社,2011.

[2]谢希仁.计算机网络(第六版)[M].北京:电子工业出版社,2013.

[3]施瓦茨(Schwartz,B.)(美),扎伊采夫(Zaitsev,P.)(美),特卡琴科(Tkachenko,V.)(美).高性能MySQL(第3版)[M].北京:电子工业出版社,2013.

作者简介:杨晓(1992.03-),男,安徽灵璧人,本科在读,研究方向:软件工程。

作者单位:乐山师范学院 计算机科学学院,四川乐山 614000

基金项目:国家级大学生创新创业训练计划项目(项目编号:201310649011);国家自然科学基金项目(项目编号:61103249);乐山市科技计划项目(项目编号:13GZD051),人工智能四川省重点实验室开放基金项目(项目编号:2013RYJ04和2013RZJ03)。