基于Linux的网络监控系统(客户端设计)2008年6月20日摘要网络监控系统是网络安全系统的一个重要组成部分,它是对其他网络安全技术的重要的补充。网络监控通过监听整个网络的数据包,查看、分析数据内容,可有效监控所在网络的运行情况等。伴随着社会信息化进程深入及互联网的迅猛发展,网络面临各种各样的威胁。一款好的网络监控系统可以及时有效地掌握网络运营情况和用户使用网络情况,并对通信的数据进行协议分析和恢复,从而提高网络的安全性。基于Linux的网络监控系统后台对底层数据报进行捕获和分析,把得到的数据报内容存放在MySQL数据库中。客户端设计主要是利用JSP技术,设计一个WEB浏览的服务器,使用户能够很方便的查看系统后台分析出的数据包的具体内容。客户端包括协议过滤,网络监控,网络预警等功能,这些功能能够使用户更加全面的了解系统后台得到的数据包的具体情况。用户可以在Windows和Linux两大主流的系统上使用该系统,系统界面设计友好、简洁,功能较全。通过该系统,用户可以监控网络中页面访问、聊天等内容,以达到网络监控的作用。关键词:网络监控;客户端设计;JSP;MYSQL;数据库设计;ABSTRACTNetworkMonitorisanimportantpartofnetworksecurity,whichisanimportantsupplementaryforothernetworksecuritytechnology.ThenetworkMonitoringdetectsallofthedatapacketsthroughthenetworkandanalyzesdata.Soitcaneffectivelywatchandcontrolthenetwork’saction.AlongwiththeprocessofsocialinformationandtherapiddevelopmentoftheInternet,thenetworkfacedavarietyofthreats.Agoodnetworkmonitoringsystemcanpromptlyandeffectivelygrasptheinformationaboutnetworkoperators,analysisandrecoverythedataaboutcommunicationprotocol,therebyenhancingnetworksecurity.TheLinux-basednetworkmonitoringsystem’sworkinbackgroundistocaptureandfilterthedatapacketinLan.ThenitanalyzesthecontentandstoragetheresultsinMySQLdatabase.ClientdesignuseJSPlanguagetodesignaWebbrowser,whichcanmaketheusereasilyrefertothecontentofthedatapackets.Clienthassomefeatures,suchascaptureandfilterthedatapackets,networkmonitoring,networkwarningandsoon.thesefeaturesallowusersamorecomprehensiveunderstandingtheinformationofthedatapacketswhichthenetworkMonitorhave.UserscanusethesysteminWindowsandLinux.thesystemdesignfriendly,simplyandfunctional.Throughthesystem,theusercancontroltheaccessofnetworkpages,chatandothercontentstoachievethenetworkmonitoringrole.Keywords:NetworkMonitor;Clientdesign;JSP;MYSQL;Databasedesign;目录目录4第一章前言61.研究背景62.研究目的及意义6第二章系统需求分析81.系统目标82.系统需求82.1系统功能要求82.2系统工作流程82.3系统运行环境92.4技术简要介绍93.数据库需求分析114.可行性分析研究11第三章系统总体设计121.系统概述122.系统结构设计133.系统功能简述134.数据库概要设计145.功能模块设计185.1用户登录模块185.2协议过滤模块195.3网络监控模块205.4数据库管理模块215.5查询历史数据模块225.6用户管理模块235.7统计模块235.8网络预警模块245.9帮助模块25第四章详细设计261.数据库详细设计261.1数据库的选用261.2数据库详细设计261.3数据库连接321.4数据库操作的实现342.模块详细设计352.1用户登录模块352.2协议过滤模块372.3网络监控模块372.4数据库管理模块382.5查询历史数据模块392.6用户管理模块392.7统计模块402.8网络预警模块412.9帮助模块433.界面详细设计433.1界面总述433.2界面布局443.3表格设计45第五章系统使用及运行结果分析471.系统开发平台472.系统使用说明及结果473.结果分析53第六章结论551.系统特点论述552.开发心得55致谢57参考文献58第一章前言1.研究背景网络监控系统是网络安全系统的一个重要组成部分,它是对其他网络安全技术的重要的补充网络监控系统是工作在网络层,传输层以及应用层的安全审计系统,通过内置的基本网络协议、数据库应用协议等分析模块,记录网络事件,将进出网络的通信数据进行实时和完整的还原,能够重现用户访问的网络资源,从而实现对安全隐患的监控,并对网络活动的相关信息进行存储。伴随着社会信息化进程深入及互联网的迅猛发展,网络病毒感染、木马问题、恶意扫描、网络监听、垃圾邮件等等问题让网络面临各种各样的威胁。一款好的网络监控系统可以及时有效地掌握网络运营情况和用户使用网络情况,并对通信的数据进行协议分析和恢复,从而提高网络的安全性。监控系统的存在使具有一定特权的网络管理人员对于网络上出现的违法,或破坏行为更加一目了然。这种应用从某种程度上对于利用网络从事非法活动的人起到了一定的威慑作用,提高了网络安全性。对企业而言,使用网络监控系统,不仅能够有效了解企业网络的潜在安全问题,防止黑客入侵,窃取企业机密等,还是一种有效的管理辅助手段。它能够实时监控企业员工上网的信息,如浏览网页、发送邮件、聊天等等行为,便于及时发现问题,提高工作效率,完善企业管理。目前,世界上许多国家都发展了自己的网络监控工具,并且以各种方式积极推广网络监控工具在其过肩网络安全建设中的作用。所以,对于网络监控系统进行深入的研究,是实现网络安全有效的保障之一,具有很大的现实意义。2.研究目的及意义伴随着社会信息化进程深入及互联网的迅猛发展,网络病毒感染、木马问题、恶意扫描、网络监听、垃圾邮件等等问题让网络面临各种各样的威胁。网络监控系统可以通过监听整个网络的数据包,查看数据内容,可有效的掌握整个网络是否存在病毒感染、木马、恶意扫描及非法上网等。通过对WEB网页、邮件/聊天软件等数据的捕捉,可有效了解经过一个网段的数据,通过对网卡数据包的捕捉及过滤,分析数据包的协议和内容来获取数据包中内容。并把相应数据放入到MYSQL数据库中。然后利用JAVA的跨平台性设计一个WEB浏览,使用户可在WINDOWS环境下进行内容的查看和分析。由于现在网络安全的问题越来越多,并且用户对于网络安全的要求也越来越高,所以对网络监控系统的功能的要求也越来越高。一款好的网络监控系统可以及时有效地掌握网络运营情况和用户使用网络情况,并对通信的数据进行协议分析和恢复,从而提高网络的安全性。在当今操作系统中,WINDOWS和LINUX是当今世界主流的操作系统。LINUX自诞生以来,就以其具有的稳定性,安全性为人们所称道,并且由于LINUX的开源性,而且其操作界面的不断优化,使越来越多的人开始使用LINUX,因此LINUX下的网络安全问题也随之成为一个热点的问题。所以,研究在LINUX下的网络监控系统,具有重大的现实意义。我们利用JAVA的跨平台性,可以在LINUX操作系统中使用JSP技术来实现网络监控系统的客户端设计,客户端设计成WEB浏览的形式,可以更加有利于用户和系统之间的交互,而且不需要用户有较高的网络协议和网络监控的知识,不必去分析网络数据包的协议,只需要用户熟悉一下网络监控系统的操作,便可以轻松的获得并且了解网络中网页浏览,聊天及邮件发送的相关信息,这使得进行监控的人员很容易,方便进行使用。所以,研究在LINUX下的网络监控系统,具有重要的历史意义。第二章系统需求分析1.系统目标网络监控系统主要实现的功能是通过对网卡的监控,过滤和捕捉到进行通信的数据包,分析数据包的协议和内容,获取数据包的内容,被把分析的结果按照一定的格式保存在MYSQL数据库中。而且,使用户能够对这些数据进行不同种类的查询,以便得到用户想要得到的数据。客户端设计则是利用JAVA的跨平台性,可以在WINDOWS或者LINUX环境下设计并实现WEB浏览环境,使用户可以通过WEB服务器对网络监控系统的MySQL数据库的数据进行访问,以便用户对该系统在整个网段捕捉的数据进行分析和分类查询,并对WEB网页,邮件/聊天等进行实时监控。2.系统需求2.1系统功能要求(1)JSP后台的简单设计(2)前台JSP界面的设计和规划(3)JSP与MYSQL之间的访问2.2系统工作流程(1)前台客户端前台客户端的功能主要是实现用户对后台捕获和分析的数据包的信息的查询和处理,图2-1前台客户端工作流程(2)后台工作流程图2-2后台工作流程2.3系统运行环境本系统是基于JAVA技术,具有跨平台性,所以该系统能够在WINDOWS或者LINUX两种环境中运行。用来实现该系统客户端的工具是综合运用JDK、TOMCAT、MYSQL。注意:工具最好使用比较新的版本,我使用的版本是JDK6Update6,Tomcat5.5,Mysql5.0.51a。2.4技术简要介绍⒈JSP技术简介JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。⒉TOMCAT简介Tomcat服务器是一个免费的开放源代码的Web应用服务器。Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。Tomcat运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还