《网络流量监控及分析工具的设计与实现 (2)》由会员分享,可在线阅读,更多相关《网络流量监控及分析工具的设计与实现 (2)(25页珍藏版)》请在金锄头文库上搜索。
1、网络流量监控及分析工具的设计与实现网络流量监控及分析工具的设计与实现摘 要互联网迅速发展的同时,网络安全问题日益成为人们关注的焦点,病毒、恶意攻击、非法访问等都容易影响网络的正常运行,多种网络防御技术被综合应用到网络安全管理体系中,流量监控系统便是其中一种分析网络状况的有效方法,它从数据包流量分析角度,通过实时地收集和监视网络数据包信息,来检查是否有违反安全策略的行为和网络工作异常的迹象。在研究网络数据包捕获、 TCP/IP原理的基础上,采用面向对象的方法进行了需求分析与功能设计。该系统在VisualC+6.0环境下进行开发,综合采用了Socket-Raw、注册表编程和IP助手API等VC编程
2、技术,在系统需求分析的基础上,对主要功能的实现方案和技术细节进行了详细分析与设计,并通过测试,最终实现了数据包捕获、流量监视与统计主要功能,达到了预定要求,为网络管理员了解网络运行状态提供了参考。关键词:网络管理;数据采集;流量统计;Winsock2The Design and Implementation of Monitoring and Analyzing Tool for Network TrafficAbstractWith the rapid development of Internet, network safety has become peoples concern, vi
3、rus, vigorous attack, illegal visit and so on can easily affect the normal network performance. Various kinds of network defending technology have been comprehensively applied into the management system of network safety. Network traffic system is one of the effective measures to analysis network co
4、ndition. From the angle of analyzing packet traffic, it can examine the safety violation and the abnormal performance of network by timely collecting and monitoring packets information. By using the way of object-oriented, this design makes a needs analysis and ability designing based on the study o
5、f network packet collecting and TCP/IP theory. Under the environment of Visual C+6.0, this system adopts VC program technologies of Socket-Raw, Windows register and IpHelper API. On the basis of system analysis, it makes a deliberate analysis and test of plans and details to implement packets collec
6、ting, traffic monitoring and statistics. So this meets our needs and makes a reference for managers to get to know the network conditions. Key words: network management; data collection; traffic analysis; Winsock2目 录论文总页数:22页1引言11.1课题背景11.2网络安全管理的现状与需求11.3网络流量监控的引入11.4本文的目的与任务21.5论文结构安排22相关的概念与技术22.
7、1OSI参考模型与TCP/IP体系结构22.1.1OSI参考模型22.1.2TCP/IP体系结构32.1.3OSI模型与TCP/IP体系结构的区别42.2传输层的编程接口Windows套接字编程技术42.2.1Windows套接字的概念42.2.2套接字类型52.2.3涉及的几个基本概念52.3原始套接字53网络数据的采集技术分析63.1Windows下原始数据包捕获的实现63.2原始数据包捕获的关键函数74网络流量监控系统各模块的设计与实现94.1开发背景介绍94.2总体结构设计94.3流程图设计104.4各模块功能概述与实现114.4.1数据包采集中各类的关系114.4.2数据包捕获与分析
8、模块114.4.3流量获取模块134.4.4数据统计模块174.4.5常见攻击分析功能185系统测试195.1测试环境195.1.1硬件环境195.1.2操作系统及软件运行环境195.2测试步骤195.3测试结果评价19结 论19参考文献20致 谢21声 明221 引言1.1 课题背景随着构建网络基础技术和网络应用的迅速发展以及用户对网络性能要求的提高,使得网络管理成为迫切需要解决的问题,有效的网络管理能够保证网络的稳定运行和持续发展,更重要的是,随着网络规模的扩大和黑客技术的发展,入侵和攻击的案例日益增多,对稳定的网络服务、信息安全、互联网秩序都提出了严峻的挑战,网络安全管理在整个网络管理系
9、统里扮演起更为重要的角色。1.2 网络安全管理的现状与需求目前,在网络应用不断深入和技术频繁升级的同时,非法访问、恶意攻击等安全威胁也在不断推陈出新,愈演愈烈。防火墙、VPN、IDS、防病毒、身份认证、数据加密、安全审计等安全防护和管理系统在网络中得到了广泛应用。从网络安全专业管理人员的角度来说,最直接的需求就是根据分类在统一的界面中监视网络中各种运行性能状态,获取相关数据信息、日志信息和报警信息等,并进行分类汇总、分析和审计;同时完成攻击事件报警、响应等功能。因此,用户的网络管理需要不断健全整体网络安全管理解决方案,从统一安全管理平台总体调控配置到多层面、分布式的安全系统,实现对各种网络安全
10、资源的集中监控、策略管理、审计及多种安全功能模块之间的互动,从而有效简化网络安全管理工作,提升网络的安全水平和可用性、可控制性、可管理性。1.3 网络流量监控的引入网络安全管理体系中,流量监控和统计分析是整个管理的基础。流量检测主要目的是通过对网络数据进行实时连续的采集监测网络流量,对获得的流量数据进行统计计算,从而得到网络主要成分的性能指标。网络管理员根据流量数据就可以对网络主要成分进行性能分析管理,发现性能变化趋势,并分析出影响网络性能的因素及问题所在。此外,在网络流量异常的情况下,通过扩展的流量检测报警系统还可以向管理人员报警,及时发现故障加以处理。在网络流量检测的基础上,管理员还可对感
11、兴趣的网络管理对象设置审查值范围及配置网络性能对象,监控实时轮询网络获取定义对象的当前值,若超出审查值的正常预定值则报警,协助管理员发现网络瓶颈,这样就能实现一定程度上的故障管理。而网络流量检测本身也涉及到安全管理方面的内容。由此可见,对于一个有效的网络安全管理系统来说,功能的实现都或多或少的依赖于流量信息的获取。因此网络流量信息的采集可以说是网络安全管理系统得以实现的核心基石。它的应用可以在一定程度上检测到入侵攻击,可以有效地帮助管理人员进行网络性能管理,并利用报警机制协助网管人员采取对应的安全策略与防护措施,从而减少入侵攻击所造成的损失。1.4 本文的目的与任务该网络流量监控及分析工具主要
12、用途是通过实时连续地采集网络数据并对其进行统计,得到主要成分性能指标,结合网络流量的理论,通过统计出的性能指数观察网络状态,分析出网络变化趋势,找出影响网络性能的因素。本设计题目是教师自拟项目,前期任务主要是设计并完成系统的初步框架,实现网络数据的捕获,并解决相应问题,后期主要是通过一些API函数完成对各类数据信息的统计。本系统实现以下功能:(1)采用Winsock编写原始套接字Socket-Raw对数据包进行采集捕获,并可实现分类及自定义范围进行捕获;(2)对捕获的数据包进行一定的解析;(3)访问操作系统提供的网络性能参数接口,得到网卡总流量、输入流量和输出流量;(4)系统提供了多种方式显示
13、结果,如曲线图、列表等;(5)使用IP帮助API获取网络统计信息;(6)实现对部分常见威胁的预警,可继续开发扩展其报警功能。1.5 论文结构安排本论文围绕Winsock标准套接字网络编程的各项实践内容展开。具体内容安排如下:第一章是引言,简要介绍开发背景、设计任务和论文结构安排;第二章介绍网络基础理论研究、数据包捕获与流量检测的技术原理;第三章介绍如何使用原始套接字实现数据捕获;第四章重点介绍网络流量监测工具的设计与实现过程,并且详细阐述了从系统功能总体设计、详细设计、具体实现的全部过程;第五章介绍了软件测试情况。2 相关的概念与技术2.1 OSI参考模型与TCP/IP体系结构2.1.1 OS
14、I参考模型开放系统互联参考模型OSI是由国际标准化组织ISO制定的标准化开放式的计算机网络层次结构模型,其结构如图1所示。可以看出,该结构共有七层,各层主要实现如下功能:(1)物理层,利用传输介质实现相邻节点间的物理连接,主要对机械、电气、功能和规程四个方面及信号传输速率方面进行规定;(2)数据链路层,完成管理数据的传输,提供差错检测和恢复,并且提供流量控制,最终实现向上一层提供无差错、高可靠性的传输链路;(3)网络层,执行路由算法和流量控制算法,完成数据分组传输,它是通信子网的最高层;(4)传输层,提供端到端的无差错传输,同时,它也提供属于局通信网络接口,比如SOCKET;(5)会话层,完成
15、用户之间会话的组织、协调、分配用户名等;(6)表示层,解决数据格式问题,规定编码方式;(7)应用层,OSI的最高层,利用应用进程提供网络访问手段。图1 OSI参考模型2.1.2 TCP/IP体系结构由于TCP/IP比其之前的OSI模型更具体实现,随着互联网的不断发展,遵循TCP/IP结构的网络不断普及,因此现在通常采用TCP/IP代表Internet体系结构。TCP/IP的目的是在网络标准不同的情况下解决互联问题,可以说,网络互联是TCP/IP的核心。TCP/IP的体系结构如图2所示。图2 OSI参考模型与TCP/IP结构TCP/IP在设计时重点并没有放在具体通信的实现上,所以对最后两层没有做出具体规定,同时表明它允许不同类型的通信网络参与通信。它的四个层次功能如下。(1)应用层,提供常用的应用程序及自定义的应用程序,数据传输时用TCP/IP协议来进行;(2)传输层,提供端到端的应用程序之间的通信,可以使用传输控制协议TCP(Transmission Control Protocol)或用户数据报协议UDP