网络流量监控及分析工具的设计与实现
摘 要
互联网迅速发展的同时,网络安全问题日益成为人们关注的焦点,病毒、恶意攻击、非法访问等都容易影响网络的正常运行,多种网络防御技术被综合应用到网络安全管理体系中,流量监控系统便是其中一种分析网络状况的有效方法,它从数据包流量分析角度,通过实时地收集和监视网络数据包信息,来检查是否有违反安全策略的行为和网络工作异常的迹象。
在研究网络数据包捕获、 TCP/IP原理的基础上,采用面向对象的方法进行了需求分析与功能设计。该系统在VisualC++6.0环境下进行开发,综合采用了Socket-Raw、注册表编程和IP助手API等VC编程技术,在系统需求分析的基础上,对主要功能的实现方案和技术细节进行了详细分析与设计,并通过测试,最终实现了数据包捕获、流量监视与统计主要功能,达到了预定要求,为网络管理员了解网络运行状态提供了参考。http://www.16sheji8.cn/
关键词:网络管理;数据采集;流量统计;Winsock2
The Design and Implementation of Monitoring and Analyzing Tool for Network Traffic
Abstract
With the rapid development of Internet, network safety has become people’s concern, virus, 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 condition. 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. http://www.16sheji8.cn/
By using the way of object-oriented, this design makes a needs analysis and ability designing based on the study of 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 collecting, 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 引言 1
1.1 课题背景 1
1.2 网络安全管理的现状与需求 1
1.3 网络流量监控的引入 1
1.4 本文的目的与任务 2
1.5 论文结构安排 2
2 相关的概念与技术 2
2.1 OSI参考模型与TCP/IP体系结构 2
2.1.1 OSI参考模型 2
2.1.2 TCP/IP体系结构 3http://www.16sheji8.cn/
2.1.3 OSI模型与TCP/IP体系结构的区别 4
2.2 传输层的编程接口—Windows套接字编程技术 4
2.2.1 Windows套接字的概念 4
2.2.2 套接字类型 5
2.2.3 涉及的几个基本概念 5
2.3 原始套接字 5
3 网络数据的采集技术分析 6
3.1 Windows下原始数据包捕获的实现 6
3.2 原始数据包捕获的关键函数 7
4 网络流量监控系统各模块的设计与实现 9
4.1 开发背景介绍 9
4.2 总体结构设计 9
4.3 流程图设计 10
4.4 各模块功能概述与实现 11
4.4.1 数据包采集中各类的关系 11
4.4.2 数据包捕获与分析模块 11
4.4.3 流量获取模块 13
4.4.4 数据统计模块 17
4.4.5 常见攻击分析功能 18
5 系统测试 19
5.1 测试环境 19
5.1.1 硬件环境 19
5.1.2 操作系统及软件运行环境 19
5.2 测试步骤 19
5.3 测试结果评价 19
结 论 19
参考文献 20
致 谢 21
声 明 22http://www.16sheji8.cn/
1 引言
1.1 课题背景
随着构建网络基础技术和网络应用的迅速发展以及用户对网络性能要求的提高,使得网络管理成为迫切需要解决的问题,有效的网络管理能够保证网络的稳定运行和持续发展,更重要的是,随着网络规模的扩大和黑客技术的发展,入侵和攻击的案例日益增多,对稳定的网络服务、信息安全、互联网秩序都提出了严峻的挑战,网络安全管理在整个网络管理系统里扮演起更为重要的角色。
1.2 网络安全管理的现状与需求
目前,在网络应用不断深入和技术频繁升级的同时,非法访问、恶意攻击等安全威胁也在不断推陈出新,愈演愈烈。防火墙、VPN、IDS、防病毒、身份认证、数据加密、安全审计等安全防护和管理系统在网络中得到了广泛应用。从网络安全专业管理人员的角度来说,最直接的需求就是根据分类在统一的界面中监视网络中各种运行性能状态,获取相关数据信息、日志信息和报警信息等,并进行分类汇总、分析和审计;同时完成攻击事件报警、响应等功能。因此,用户的网络管理需要不断健全整体网络安全管理解决方案,从统一安全管理平台总体调控配置到多层面、分布式的安全系统,实现对各种网络安全资源的集中监控、策略管理、审计及多种安全功能模块之间的互动,从而有效简化网络安全管理工作,提升网络的安全水平和可用性、可控制性、可管理性。
1.3 网络流量监控的引入
网络安全管理体系中,流量监控和统计分析是整个管理的基础。http://www.16sheji8.cn/
流量检测主要目的是通过对网络数据进行实时连续的采集监测网络流量,对获得的流量数据进行统计计算,从而得到网络主要成分的性能指标。网络管理员根据流量数据就可以对网络主要成分进行性能分析管理,发现性能变化趋势,并分析出影响网络性能的因素及问题所在。此外,在网络流量异常的情况下,通过扩展的流量检测报警系统还可以向管理人员报警,及时发现故障加以处理。在网络流量检测的基础上,管理员还可对感兴趣的网络管理对象设置审查值范围及配置网络性能对象,监控实时轮询网络获取定义对象的当前值,若超出审查值的正常预定值则报警,协助管理员发现网络瓶颈,这样就能实现一定程度上的故障管理。而网络流量检测本身也涉及到安全管理方面的内容。
由此可见,对于一个有效的网络安全管理系统来说,功能的实现都或多或少的依赖于流量信息的获取。因此网络流量信息的采集可以说是网络安全管理系统得以实现的核心基石。它的应用可以在一定程度上检测到入侵攻击,可以有效地帮助管理人员进行网络性能管理,并利用报警机制协助网管人员采取对应的安全策略与防护措施,从而减少入侵攻击所造成的损失。
1.4 本文的目的与任务
该网络流量监控及分析工具主要用途是通过实时连续地采集网络数据并对其进行统计,得到主要成分性能指标,结合网络流量的理论,通过统计出的性能指数观察网络状态,分析出网络变化趋势,找出影响网络性能的因素。
本设计题目是教师自拟项目,前期任务主要是设计并完成系统的初步框架,实现网络数据的捕获,并解决相应问题,后期主要是通过一些API函数完成对各类数据信息的统计。
本系统实现以下功能:
(1)采用Winsock编写原始套接字Socket-Raw对数据包进行采集捕获,并可实现分类及自定义范围进行捕获;http://www.16sheji8.cn/
(2)对捕获的数据包进行一定的解析;
(3)访问操作系统提供的网络性能参数接口,得到网卡总流量、输入流量和输出流量;
(4)系统提供了多种方式显示结果,如曲线图、列表等;
(5)使用IP帮助API获取网络统计信息;
(6)实现对部分常见威胁的预警,可继续开发扩展其报警功能。
1.5 论文结构安排
本论文围绕Winsock标准套接字网络编程的各项实践内容展开。具体内容安排如下:第一章是引言,简要介绍开发背景、设计任务和论文结构安排;第二章介绍网络基础理论研究、数据包捕获与流量检测的技术原理;第三章介绍如何使用原始套接字实现数据捕获;第四章重点介绍网络流量监测工具的设计与实现过程,并且详细阐述了从系统功能总体设计、详细设计、具体实现的全部过程;第五章介绍了软件测试情况。http://www.16sheji8.cn/