网络流量监控系统-毕业论文_第1页
网络流量监控系统-毕业论文_第2页
网络流量监控系统-毕业论文_第3页
网络流量监控系统-毕业论文_第4页
网络流量监控系统-毕业论文_第5页
免费预览已结束,剩余43页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文 网络流量监控系统 第 I 页 共 43 页 网络流量监控系统 摘要 随着Internet 的迅速发展和信息社会的到来,网络已经影响到社会的政治、经济、 文化、军事和社会生活的各个方面。以网络方式获取信息和交流信息已成为现代信息社会的 一个重要特征。互联网作为当代社会传播信息资源的工具已经越来越重要。网络已经成为当 今社会人们生活中必不可少的一部分。 而随着计算机网络越来越复杂,网络管理己变得日益重要,要求网络管理对网络变化做 出快速反应,以及为管理大型网络提供必要的手段等等。网络流量分析系统作为网络管理的 一个重要的基础系统,对网络的流量进行实时的监控,为后续的网络管理工作,网络黑客攻 击防范工作起到了最重要的作用。 我们所设计的基于流量分析的网络监控系统是基于WINPCAP 进行开发的,采用 VisualC+作为开发平台,MySQL 作为后台的数据库管理系统,提供良好的用户管理界面, 可以实现对本地网络流量的实时监控、统计分析,并提供异常流量的选择查询功能,从而能 对网络中可能存在的拒绝服务攻击(包括SYN 洪水攻击、UDP 洪水攻击、ICMP 洪水攻 击等常见的攻击方式)进行检测。 关键词 网络监控 流量分析 Winpcap MySQL 拒绝服务攻击 本科毕业论文 网络流量监控系统 第 II 页 共 43 页 Abstract With the rapid development of Internet and the advent of the information society, the social network has already affected the political, economic, cultural, military and all aspects of social life. The way to obtain and exchange information through the Internet has become an important feature of the modern information society. Internet as a resource tool for the dissemination of information in contemporary society has become increasingly important. The network has become an essential part of societys life. As computer networks become more complex, network management has become increasingly important for the network to react quickly to changes in the management of the network, as well as for the management of large networks with the necessary means, and so on. Network flow analysis system, as an important foundation system of the network management, conducts a real-time monitoring to the network flow control, plays the most important role in the follow-up management of the network and network hackerscrime prevention. Based on the analysis of the network traffic monitoring system we designed is based on the WinPcap to develop, uses Visual C+ a development platform, MySQL as the background database management system. It can achieved on real-time monitoring and statistical analysis on Local network flow, and provide exceptional flow searching function, thus able to detect the DoS(Denial of Service) attack may exist, for example, SYN flood attacks、UDP flood attacks、ICMP flooding attacks and some other common attack methods. Key words Network monitoring Flow analysis Winpcap MySQL Denial of Service Attacks 本科毕业论文 网络流量监控系统 第 III 页 共 43 页 目录目录 第一章第一章 绪论绪论1 1.1 网络流量测量研究背景和意义1 1.2 本文研究内容.2 1.3 论文组织结构.2 第二章第二章 基本概念介绍基本概念介绍3 2.1 以太网简介 3 2.1.1 以太网的简史3 2.1.2 OSI 参考模型.3 2.1.3 以太网基本网络组成 .4 2.2 IP/TCP 协议 .4 2.2.1 TCP/IP 整体构架概述 5 2.2.2 TCP/IP 中的协议5 2.3 UDP 协议 .7 2.4 ICMP 协议7 2.5 WINPCAP协议介绍7 2.5.1 Winpcap 的组成8 2.5.2 Winpacp 的功能.8 2.6 系统开发工具简介9 2.6.1 VC+简介9 2.6.2 MySQL 简介 10 2.7 本章小结10 第三章第三章 系统详细设计系统详细设计11 3.1 系统开发目的及设计目标 .11 3.2 系统整体设计思想11 3.3 数据包捕获分析.12 3.3.1 网络数据包捕获原理 .12 3.3.2 Winpcap 进行网络数据包的捕获和过滤的设计步骤.13 3.3.3 数据包捕获的具体实现14 3.3.4 对捕获数据包的分析 .16 3.3.5 将分析的结果存入数据库17 3.4 数据库的设计.18 3.5 实时监控设计.19 3.5.1 数字监控 .19 3.5.2 图形监控 .20 3.6 数据查询与报警设计23 3.6.1 历史数据查询和统计 .23 3.6.2 报警设置、查询、统计、删除.24 3.7 前台界面处理.26 3.7.1 启动画面 .26 本科毕业论文 网络流量监控系统 第 IV 页 共 43 页 3.7.2 对话框背景填充.27 3.8 本章小结28 第四章第四章 系统实现结果系统实现结果29 4.1 实时监控30 4.1.1 数字监控 .30 4.1.2 图形监控 .31 4.2 历史数据查询.33 4.3 报警数据查询.34 4.3.1 报警设置 .34 4.3.2 数据筛选 .35 4.3.3 报警数据 .35 4.3.4 清空数据 .38 4.4 数据统计模块.38 4.5 其他.39 4.6 本章小结40 第五章第五章 结束语结束语 41 参考文献参考文献 .42 致谢致谢.43 本科毕业论文 网络流量监控系统 第 V 页 共 43 页 Contents CHAPTER 1 PROLEGOMENON.1 1.1 BACKGROUND AND SIGNIFICANCE OF NETWORK TRAFFIC RESEARCH.1 1.2 ONTENTS OF THIS PAPER2 1.3 ORGANIZATIONAL STRUCTURE OF THIS PAPER2 CHAPTER 2 BASIC CONCEPT.3 2.1 INTRODUCTION OF ETHERNET3 2.1.1 History of ethernet.3 2.1.2 Model of OSI3 2.1.3 Basic component of ethernet networks .4 2.2 IP/TCP PROTOCOL.4 2.2.1 TCP/IP overall framework introduction5 2.2.2 TCP/IP protocols .5 2.3 UDP PROTOCOL.7 2.4 ICMP PROTOCOL.7 2.5 WINPCAP PROTOCOL INTRODUCTION7 2.5.1 Components of Winpcap.8 2.5.2 Function of Winpacp8 2.6 INTRODUCTION OF MAJOR SYSTEMS DEVELOPMENT TOOLS9 2.6.1 Introduction of VC+9 2.6.2 Introduction of MySQL.10 2.7 SUMMARIZE OF THIS CHAPTER.10 CHAPTER 3 DETAILED DESIGN OF THE SYSTEM11 3.1 DEVELOPMENT GOALS AND DESIGN OBJECTIVE OF THE SYSTEM.11 3.2 OVERALL DESIGN CONCEPT OF THE SYSTEM.11 3.3 PACKET CAPTURE ANALYSIS12 3.3.1 Principle of net packet capture12 3.3.2 Capture and analysis steps of packet by Winpcap13 3.3.3 Specific implementation of packet capture14 3.3.4 Analysis of packet capture.16 3.3.5 Store the result of analysis to database 17 3.4 DESIGN OF DATABASE.18 3.5 DESIGN OF REAL-TIME MONITOR19 3.5.1 Digital monitor19 3.5.2 Graphic monitor.20 3.6 DATA QUERY AND ALARM DESIGN.23 3.6.1 Query and stat. of historical data.23 3.6.2 Alarm set、query、stat.、delete.24 3.7 INTERFACE PROCESSING.26 3.7.1 Startup screen.26 本科毕业论文 网络流量监控系统 第 VI 页 共 43 页 3.7.2 Filled dialog background27 3.8 SUMMARIZE OF THIS CHAPTER.28 CHAPTER 4 ACHIEVING RESULTS OF THE SYSTEM.29 4.1 REAL-TIME MONITOR.30 4.1.1 Digital monitor30 4.1.2 Graphic monitor.31 4.2 QUERY HISTORICAL DATA33 4.3 QUERY ALARM DATA.34 4.3.1 Alarm set .34 4.3.2 Data selector .35 4.3.3 Alarm data.35 4.3.4 Delete data38 4.4 MODULE OF DATA STATISTICS38 4.5 OTHERS39 4.6 SUMMARIZE OF THIS CHAPTER.40 CHAPTER 5 CONCLUSION 41 REFERENCES .42 THANKS.43 本科毕业论文 网络流量监控系统 第 1 页 共 43 页 第一章 绪论 1.1 网络流量测量研究背景和意义 随着Internet 的飞速发展,网络规模的不断扩大,网络用户的成倍增加,网络传输速度 和容量的快速增长以及网络应用和业务种类的快速发展,使得Internet 成为一个综合数据、 语音、视频等多媒体服务的平台。同时,网络技术的快速发展,不断涌现的新的网络协议以 及网络流量成指数倍的增长,网络的异构性特点也越来越明显,这使得网络测量和建模十分 困难。 近年来国内外相关的研究大都是通过对大量的流量数据进行分析,找出能反映网络真实 特性的数学模型,如自相似模型等,但仍然不能全面客观地反映网络的真实状态和面貌。可 以说,Internet一直没有得到有效的检测,我们缺乏对网络性能的理解和预测。事实上,要 达到上述目的,采用网络测量获取真实的流量数据,并对这些数据进行细致充分的定性定量 分析,是较为有效的方法。网络流量测量是网络流量管理的基础和重要内容,特别是对于 Internet 这样大型复杂的骨干网络来说更为重要。流量测量还可以实现监测拥塞链路,预警 拒绝服务攻击,实施流量工程,满足服务等级合约的QoS 策略设计等功能。因此,研究 Internet 的测量方法并且实现相应的测量系统是至关重要的。 网络流量测量具有多方面的作用,也是网络流量管理的基础和重要内容,特别是对于 Internet 这样大型复杂的骨干网络来说更为重要。因此,研究Internet 的测量方法并且实现 相应的测量系统是至关重要的。网络安全监控是保障计算机网络系统安全运行,防止各种恶 意窃取,防止各种破坏性攻击的重要的安全技术。同时,网络监控也是网络管理的信息收集 工具,它为网络管理提供必要的信息,对把握网络的发展方向以及发现网络故障都有一定的 意义。 基于流量分析的网络监控系统,就是在这样的背景下产生的。所有的有关于网络安全监 控的系统及研究,都是以流量的监控分析作为基础的。 网络流量监控系统就是对网络内到达本地服务器的所有数据包进行截取和分析,掌握当 前网络总流量,同时可以根据不同的需要对特定端口或特定外部地址进行监视,防止非法入 侵,以保障本地网络系统的安全和稳定。 它的主要意义在于实现了网络监控。随着内部网络的规模与容量的日渐扩大,保持系统 的正常运作将会变得越来越重要。网络监控能使系统及时地发现网络流量异常的现象,使服 务器在发现非法入侵后能立即做出反应,来保护自己的服务器不被破坏,以求获得安全性的 本科毕业论文 网络流量监控系统 第 2 页 共 43 页 同时,提高网络性能。 1.2 本文研究内容 互联网络中,无论是应用业务种类还是流量规模都在飞速发展。不断变化的网络需要相 应灵活的监控工具帮助网络管理者及时了解网络状态,以便于进行网络规划及故障排除。 目前,网络流量监控系统正受到越来越多的关注,我们有必要认识它、了解它,并最终 应用它,让它帮助我们解决各种各样的网络问题。 本文设计完成的基于流量分析的网络监控系统是以监控用户网络流量情况、防范黑客攻 击进行入侵检测为主要目的而进行开发的。基于Winpcap 协议来完成网络数据包的捕获, 通过对所捕获数据包的内容进行统计分析,完成对网络流量的监控分析和对可能发生的拒绝 服务攻击进行检测等功能。 本系统是基于Winpcap 协议进行开发的,采用Visual C+作为开发平台,MySQL 作为 后台的数据库管理系统,提供良好的用户管理界面,可以实现对本地网络流量的实时监控、 统计分析,并提供异常流量的查询功能,从而能对网络中可能存在的拒绝服务攻击进行检测。 整个系统使用C 语言编写后台数据包捕获程序,VC+作为前台的界面显示, MySQL 作为 流量分析系统的数据库管理系统,以MySQL 数据库作为前后台交互的中间层,使后台数据 包的捕获和前台的数据流量实时监控以及对历史数据查询得以很好的实现。 1.3 论文组织结构 基于流量分析的网络监控系统的论文组织结构如下: 本文将从以下几个方面进行说明: 第一章 绪论; 第二章 介绍流量分析系统基本的概念和相关的技术知识; 主要介绍与流量分析系统开发、应用中所涉及到的相关原理、技术、工具。 第三章 介绍系统的详细设计; 详细介绍系统的设计思想,并分数据包捕获分析和数据存储、实时监控、数据查询与报 警三个模块对系统的实现过程进行具体描述。 第四章 介绍系统具体实现结果; 通过截图的方式详细展现了系统实时监控、历史数据查询、报警数据查询、数据统计四 个模块的实现结果,并对系统界面和启动画面做简单介绍。 第五章 结束语; 本科毕业论文 网络流量监控系统 第 3 页 共 43 页 第二章 基本概念介绍 由于本系统是基于Winpcap协议的网络流量监控系统,实现针对不同网络协议和不同网 络服务的相关数据包流量的实时分析,并将检测数据保存到数据库。整个系统开发采用C语 言实现后台数据包捕获,VC+实现前台界面显示,利用MySQL实现数据存储。所以在本章 中主要对以太网、IP/TCP协议、UDP和ICMP协议、Winpcap协议、MySQL数据库以及系统 开发工具做详细介绍。 2.1 以太网简介 以太网(Ethernet)是一种计算机局域网组网技术。IEEE 制定的 IEEE 802.3 标准给出了 以太网的技术标准。它规定了包括物理层的连线、电信号和介质访问层协议的内容。以太网 是当前应用最普遍的局域网技术。它很大程度上取代了其他局域网标准,如令牌环网、 FDDI 和 ARCNET。 以太网的标准拓扑结构为总线型拓扑,但目前的快速以太网 (100BASE-T、1000BASE-T 标准)为了最大程度的减少冲突,最大程度的提高网络速度 和使用效率,使用交换机(Switch)来进行网络连接和组织,这样,以太网的拓扑结构就成 了星型,但在逻辑上,以太网仍然使用总线型拓扑和 CSMA/CD(Carrier Sense Multiple Access/Collision Detect 即带冲突检测的载波监听多路访问) 的 总线争用技术,并以 10 Mbps 的速率运行在多种类型的电缆上。 2.1.1 以太网的简史 Ethernet 是 Xerox、Digital Equipment 和 Intel 三家公司开发的局域网组网规范,并于 80 年代初首次出版,称为 DIX1.0。1982 年修改后的版本为 DIX2.0。 这三家公司将此规范 提交给 IEEE(电子电气工程师协会)802 委员会,经过 IEEE 成员的修改并通过,变成了 IEEE 的正式标准,并编号为 IEEE802.3。Ethernet 和 IEEE802.3 虽然有很多规定不同,但 术语 Ethernet 通常认为与 802.3 是兼容的。IEEE 将 802.3 标准提交国际标准化组织(ISO) 第一联合技术委员会(JTC1),再次经过修订变成了国际标准 ISO8802.3。 2.1.2 OSI 参考模型 IEEE802.3 在制定时突出的一个基本思想是将系统进行逻辑划分,并研究如何将连接在 一起。我们知道,ISO 组织将网络按其功能划分为 7 个功能层,每层都完成某个特定功能。 本科毕业论文 网络流量监控系统 第 4 页 共 43 页 图 1 所示为 OSI 参考模型。 图 11 OSI 模型 2.1.3 以太网基本网络组成 共享媒体和电缆:10BaseT(双绞线),10Base-2(同轴细缆),10Base-5(同轴粗 缆)。 转发器或集线器:集线器或转发器是用来接收网络设备上的大量以太网连接的一类设备。 通过某个连接的接收双方获得的数据被重新使用并发送到传输双方中所有连接设备上,以获 得传输型设备。 网桥:网桥属于第二层设备,负责将网络划分为独立的冲突域或分段,达到能在同一个 域/分段中维持广播及共享的目标。网桥中包括一份涵盖所有分段和转发帧的表格,以确保 分段内及其周围的通信行为正常进行。 交换机:交换机,与网桥相同,也属于第二层设备,且是一种多端口设备。交换机所支 持的功能类似于网桥,但它比网桥更具有的优势是,它可以临时将任意两个端口连接在一起。 交换机包括一个交换矩阵,通过它可以迅速连接端口或解除端口连接。与集线器不同,交换 机只转发从一个端口到其它连接目标节点且不包含广播的端口的帧。 以太网协议:IEEE 802.3 标准中提供了以太帧结构。当前以太网支持光纤和双绞线媒 体支持下的四种传输速率: 10 Mbps 10Base-T Ethernet(802.3) 100 Mbps Fast Ethernet(802.3u) 1000 Mbps Gigabit Ethernet(802.3z)) 10 Gigabit Ethernet IEEE 802.3ae 2.2 IP/TCP 协议 TCP/IP 协议是在 60 年代由麻省理工学院和一些商业组织为美国国防部开发的。 TCP/IP 协议是支持 Internet/Intranet 的基本通信协议。传输控制协议 TCP(Transmission 本科毕业论文 网络流量监控系统 第 5 页 共 43 页 Control Protocol),负责数据的流量控制,并保证传输的正确性;网际协议 IP(Internet Protocol), 负责将数据从一处传往另一处。TCP/IP 协议具有广泛的兼容性和可伸缩性,可连接不同的计 算机网络协议、不同的网络设备。TCP/IP 已成为网络互连事实上的标准,并成为支持 Internet/Intranet 的协议标准。 2.2.1 TCP/IP 整体构架概述 TCP/IP 协议并不完全符合 OSI 的七层参考模型。传统的开放式系统互连参考模型,是 一种通信协议的 7 层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各 种硬件在相同的层次上相互通信。这 7 层是:物理层、数据链路层、网路层、传输层、会话 层、表示层和应用层。而 TCP/IP 通讯协议采用了 4 层的层级结构,每一层都呼叫它的下一 层所提供的网络来完成自己的需求。这 4 层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议 (FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户 数据报协议(UDP)等,TCP 和 UDP 给数据包加入传输数据并把它传输到下一层中,这一 层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机 (但不检查是否被正确接收),如网际协议(IP)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如 Ethernet、Serial Line 等)来传送数据。 2.2.2 TCP/IP 中的协议 IP 协议 网际协议 IP(Internet Protocol)是 TCP/IP 的心脏,也是网络层中最重要的协议。网际协 议(IP)是一个网络层协议,它包含寻址信息和控制信息 ,可使数据包在网络中路由。IP 协议是 TCP/IP 协议族中的主要网络层协议,与 TCP 协议结合组成整个因特网协议的核 心协议。IP 协议同样都适用于 LAN 和 WAN 通信。 协议结构如下: 本科毕业论文 网络流量监控系统 第 6 页 共 43 页 TCP 协议 传输控制协议 TCP(Transfer Control Protocol) 是 TCP/IP 协议栈中的传输层协议,它 通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。与 IP 协议相结合, TCP 组成了因特网协议的核心。 关于流数据传输 ,TCP 交付一个由序列号定义的无结构的字节流。 这个服务对应用程 序有利,因为在送出到 TCP 之前应用程序不需要将数据划分成块, TCP 可以将字节整合 成字段,然后传给 IP 进行发送。 TCP 通过面向连接的、端到端的可靠数据报发送来保证可靠性。 TCP 在字节上加上 一个递进的确认序列号来告诉接收者发送者期望收到的下一个字节。如果在规定时间内,没 有收到关于这个包的确认响应,重新发送此包。 协议结构如下: 本科毕业论文 网络流量监控系统 第 7 页 共 43 页 2.3 UDP 协议 用户数据报协议 UDP(User Datagram Protocol)是 ISO 参考模型中一种无连接的传输 层协议,提供面向事务的简单不可靠信息传送服务。 UDP 协议基本上是 IP 协议与上层协 议的接口。 UDP 协议适用端口分辨运行在同一台设备上的多个应用程序。 与 TCP 不同, UDP 并不提供对 IP 协议的可靠机制、流控制以及错误恢复功能等。 由于 UDP 比较简单, UDP 头包含很少的字节,比 TCP 负载消耗少。 UDP 适用于不需要 TCP 可靠机制的情形,比如,当高层协议或应用程序提供错误和 流控制功能的时候。 UDP 是传输层协议,服务于很多知名应用层协议,包括网络文件系统 (NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统 (TFTP)。 协议结构如下: 2.4 ICMP 协议 Internet 控制信息协议 ICMP(Internet Control Message Protocol)是 IP 组的一个整合 部分。通过 IP 包传送的 ICMP 信息主要用于涉及网络操作或错误操作的不可达信息。 ICMP 包发送是不可靠的,所以主机不能依靠接收 ICMP 包解决任何网络问题。ICMP 的 主要功能有:通告网络错误、通告网络拥塞、协助解决故障、通告超时。 协议结构如下: 2.5 Winpcap 协议介绍 Winpcap 是一个免费公开的软件系统。它用于 windows 系统下的直接的网络编程。大 多数网络应用程序访问网络是通过广泛使用的套接字。这种方法很容易实现网络数据传输, 本科毕业论文 网络流量监控系统 第 8 页 共 43 页 因为操作系统负责底层的细节(比如协议栈,数据流组装等)以及提供了类似于文件读写的 函数接口。 图 21 Winpcap 的内部结构 2.5.1 Winpcap 的组成 第一个模块 NPF(Netgroup Packet Filter),是一个虚拟设备驱动程序文件。它的功能是 过滤数据包,并把这些数据包原封不动地传给用户态模块,这个过程中包括了一些操作系统 特有的代码。 第二个模块 packet.dll 为 win32 平台提供了一个公共的接口。不同版本的 Windows 系 统都有自己的内核模块和用户层模块。Packet.dll 用于解决这些不同。调用 Packet.dll 的程 序可以运行在不同版本的 Windows 平台上,而无需重新编译。 第三个模块 Wpcap.dll 是不依赖于操作系统的。它提供了更加高层、抽象的函数。 packet.dll 直接映射了内核的调用。Wpcap.dll 提供了更加友好、功能更加强大的函数调用。 2.5.2 Winpacp 的功能 Winpcap 可以为 Win32 应用程序提供访问网络底层的能力。它提供了以下的各项功能: 本科毕业论文 网络流量监控系统 第 9 页 共 43 页 a. 捕获原始数据包,包括在共享网络上各主机发送/接收的以及相互之间交换的数据包; b. 在数据包发往应用程序之前,按照自定义的规则将某些特殊的数据包过滤掉; c. 在网络上发送原始的数据包; d. 收集网络通信过程中的统计信息。 Winpcap 的主要功能在于独立于主机协议(如 TCP-IP)而发送和接收原始数据报。也 就是说,Winpcap 不能阻塞,过滤或控制其他应用程序数据报的发收,它仅仅只是监听共 享网络上传送的数据报。目前基于 Winpcap 的应用主要有: WinDump、Analyzer、Ethereal 以及 snort,这些软件能够捕捉网络通信、读取并翻译来自 其他系统的 tcpdump 类型二进制数据包。另外还有 Sniffer,Project URL Snooper,Hidownload 等有特定实际用途的网络软件。 2.6 系统开发工具简介 基于流量分析的网络监控系统是基于 WINPCAP 进行开发的,采用 VC+作为开发平 台,系统使用 C 语言编写后台监控程序,VC+ 作为前台的界面显示, MySQL 作为流量 分析系统的数据库管理系统,以 MySQL 数据库作为前后台交互的中间层。 2.6.1 VC+简介 C 语言是近年来在国内外得到迅速推广应用的一种计算机语言,C 语言功能丰富,表 达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优 点,又具有低级语言的许多特点。因此,C 语言特别适合于编写系统软件。Miscrosift Visual Studio 是微软公司出品的创建高性能解决方案的最有效的工具之一。 Visual Studio 主要包括 Visual C+,Visual Bacic,Visual FoxPro 等。其中,Visual C+(简称 VC 或 VC+),是基于 C 和 C+语言,主要是由 MFC 组成,是与系统联系 非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高, 几乎可说 Visual C+在 Windows 平台无所不能。 Visual C+是 Windows 编程的主要工具,与 Windows 的紧密结合使它在软件底层开 发上占有非常大的优势。Visual C+具有如下优点:与 Windows 的紧密结合、强大的类库 支持和类改造能力、高效率的运行速度。 Visual C+ 的适用范围及特点: 本科毕业论文 网络流量监控系统 第 10 页 共 43 页 (1) Visual C+主要是针对 Windows 系统,适合一些系统级的开发,可以方便实现 一些底层的调用。在 VC 里边嵌入汇编语言很简单。 (2) Visual C+主要用在驱动程序开发 (3) Visual C+执行效率高,当对系统性能要求很高的时候,可用 Visual C+开发。 (4) Visual C+主要适用于游戏开发 (5) Visual C+多用于单片机,工业控制等软件开发,如直接对 I/O 地址操作,就要 用 C+。 (6) Visual C+适用开发高效,轻量级的 COM 组件,DLL。比如 WEB 上的控件。 (7) Visual C+可以开发优秀的基于通信的程序。 (8) Visual C+可以开发高效灵活的文件操作程序。 (9) Visual C+可以开发灵活高效的数据库操作程序。 (10)Visual C+是编写 CAD 软件的最主要的选择,包括 AUTOCAD,UG 的二次开 发。 (11)Visual C+在多线程、网络通信、分布应用方面,VC+有不可比拟的优势。 2.6.2 MySQL 简介 MySQL,出自瑞典小公司 MySQL 公司的开放源码的数据库软件,目前对数据库老牌 厂商 Oracle, IBM, Microsoft 以及 Sybase 等公司产生威胁。它同样具有良好的可靠性、安 全性和易用性,是大规模联机事务处理、数据仓库和电子商务应用程序的优秀数据库平台。 MySQL 提供了其它数据库少有的编程工具,而且 MySQL 对于商业和个人用户是免费的。 MySQL 是大规模联机事务处理、数据仓库和电子商务应用程序的优秀数据库平台。 MySQL 数据库最主要的两大特点就是开源和免费,此外,它还具有以下主要特点: 1. 同时访问数据库的用户数量不受限制; 2. 可以保存超过 50,000,000 条记录; 3. 是目前市场上现有产品中运行速度最快的数据库系统; 4. 用户权限设置简单、有效。 由于 MySQL 本身并不像 MS SQL Server 那样提供图形化显示界面,所以为了在开发 过程中显示方便,我们还可以装上一些 MySQL 的插件,比如 MySQL Front,这是一款小 巧的管理 Mysql 的应用程序。主要特性包括多文档界面,语法突出,拖拽方式的数据库和 表格,可编辑/可增加/删除的域。可编辑/可插入/删除的记录,可显示的成员,可执行的 本科毕业论文 网络流量监控系统 第 11 页 共 43 页 SQL 脚本,提供与外程序接口,保存数据到 CSV 文件等。 2.7 本章小结 本章主要介绍了与流量分析系统开发、应用中所涉及到的相关原理、技术、工具,下章 我们将主要就系统设计的具体方案和实现进行阐述。 第三章 系统详细设计 前面我们对基于流量分析的网络监控系统的进行了分析,并对相关的技术和开发工具进 行了介绍,在本章中我们将给出详细的设计方案。 3.1 系统开发目的及设计目标 本流量分析系统将用来动态检测子网内的网络流量,实现针对不同网络协议和不同网络 服务的相关数据包流量的实时分析,提供图形化分析工具,把分析所得的结果通过如折线图、 柱状图、饼状图等图形化的界面显示出来,并将检测数据保存到数据库。在监视网络流量的 基础上,通过制定一定的监控策略,对网络环境中出现的流量异常情况,对用户发出警报提 示,使用户能及时的采取相应的预防或补救的措施。 3.2 系统整体设计思想 根据流量分析系统的开发目的及设计目标,将系统定位于一个包含数据包捕获分析和 数据存储、实时监控、数据查询与报警三个模块。 其中,捕获分析模块是系统的后台运行程序,主要负责的是,通过使用 Winpcap 协议, 对通过所监听的网络适配器的所有数据包进行捕获。这一部分主要采用 C 语言来编写,属 于一些底层的操作,并且没有对所捕获的数据进行显示,而是通过前台用户界面调用数据库 数据实现数据的实时监控功能。数据存储是基于前一个捕获分析模块所捕获并且分析过的数 据包,对得到分析结果的数据包进行分类统计(基于不同网络协议或者不同网络服务),并 把统计的结果存入到 MySQL 数据库中,以供前台显示程序调用。该模块主要的任务就是 MySQL 数据库中建立好用于存储捕获分析模块分析所得的结果的数据库及指定的表格,建 立好 Visual C+对 MySQL 数据库的连接,最后就是将所得的结果存入指定的数据库中。 实时监控模块主要分数字监控和图形监控两个部分。其中数字监控主要通过连接数据 库,每秒刷新一次数据库数据然后将查询所得的数据分类在前台显示实现实时监控,而图形 监控是采用柱状图的形式显示用户计算机当前的输出流量、输入流量、总流量,也是每秒刷 新一次数据。 数据查询与报警模块主要实现对后台捕获程序捕获的所有历史数据包进行分类查询, 本科毕业论文 网络流量监控系统 第 12 页 共 43 页 并且通过报警设置子模块对满足设置的数据进行筛选查询,如果发现数据异常,将提供报警 功能(如提示用户可能遭受 UDP、ICMP 等洪水攻击)以便用户采取相应的措施。 系统整体流程如图 321 所示: 图 321 系统整体流程图 3.3 数据包捕获分析 此模块是整个系统得以实现的关键部分,只有在后台捕获数据包的情况下系统才能进行 后续操作。 3.3.1 网络数据包捕获原理 以太网(Ethernet)具有共享介质的特征,信息是以明文的形式在网络上传输,当网络 适配器设置为监听模式(混杂模式,Promiscuous)时,由于采用以太网广播信道争用的方 式,使得监听系统与正常通信的网络能够并联连接,并可以捕获任何一个在同一冲突域上传 输的数据包。IEEE802.3 标准的以太网采用的是持续 CSMA 的方式,正是由于以太网采 用这种广播信道争用的方式,使得各个站点可以获得其他站点发送的数据。运用这一原理使 信息捕获系统能够拦截的我们所要的信息,这是捕获数据包的物理基础。 以太网是一种总线型的网络,从逻辑上来看是由一条总线和多个连接在总线上的站点所 组成各个站点采用上面提到的 CSMA/CD 协议进行信道的争用和共享。每个站点(这里特 指计算机通过的接口卡)网卡来实现这种功能。网卡主要的工作是完成对于总线当前状态的 探测,确定是否进行数据的传送,判断每个物理数据帧目的地是否为本站地址,如果不匹配, 本科毕业论文 网络流量监控系统 第 13 页 共 43 页 则说明不是发送到本站的而将它丢弃。如果是的话,接收该数据帧,进行物理数据帧的 CRC 校验,然后将数据帧提交给 LLC 子层。 3.3.2 Winpcap 进行网络数据包的捕获和过滤的设计步骤 流量分析系统中数据包的捕获主要是通过调用Winpcap 协议来捕获数据包的。 Winpacp作为一个网络底层的驱动,提供了许多的API 供开发人员调用,这些API 提供了许 多不同的功能,通过这些API 可以实现诸多的功能,包括从简单的基本功能(如获取网卡的 列表,数据包的捕获等)到统计和收集网络流量等高级功能。主要步骤如下: (1)打开网卡,并设为混杂模式。 (2)回调函数 Network Tap 在得到监听命令后,从网络设备驱动程序处收集数据包 把监听到的数据包负责传送给过滤程序。 (3)当 Packet filter 监听到有数据包到达时,NDIS 中间驱动程序首先调用分组驱动 程序,该程序将数据传递给每一个参与进程的分组过滤程序。 (4)然后由 Packet filter 过滤程序决定哪些数据包应该丢弃,哪些数据包应该接收, 是否需要将接收到的数据拷贝到相应的应用程序。 (5)通过分组过滤器后,将数据未过滤掉的数据包提交给核心缓冲区。然后等待系统 缓冲区满后,再将数据包拷贝到用户缓冲区。监听程序可以直接从用户缓冲区中读取捕获的 数据包。 (6)关闭网卡。 本科毕业论文 网络流量监控系统 第 14 页 共 43 页 图 321 数据包捕获流程 3.3.3 数据包捕获的具体实现 捕获数据包的具体具体实现如下: 本科毕业论文 网络流量监控系统 第 15 页 共 43 页 (1)获得网络接口列表 通常, 一个基于 WinPcap 的应用程序所要做的第一件事, 就是获得适合的网络接口的 列表. Libpcap 中的 pcap_findalldevs()函数就是用来获得适合的网络接口的列表的,返回一 个 pcap_if 结构的列表。由 pcap_findalldevs() 函数返回的 pcap_if 结构也包含了一个 pcap_addr 结构的列表, 它记录了以下信息: 1. 接口的地址列表 2. 接口的掩码列表(与地址列表一一对应) 3. 接口的广播地址列表(与地址列表一一对应) 4. 目标地址列表(与地址列表一一对应) (2)打开捕捉设备 使用函数 pcap_open_live() 来打开一个捕捉设备.函数原型:pcap_t * pcap_open_live (char *device, int snaplen, int promisc, int to_ms, char *ebuf)pcap_open_live()的第四个参 数(to_ms)定义了采样的间隔,在本系统中将此参数设置为 1000,即系统捕获数据包进行分 析统计的时间间隔是 1 秒。流量监控系统监控所得的结果都是每秒钟通过的数据包的流量。 (3)设置过滤器 过滤数据的函数是 pcap_compile() 和 pcap_setfilter()来实现的 pcap_compile() 和 pcap_setfilter()是用来编辑过滤器和设置过滤器的 pcap_compile()来编译一个过滤设备,它 通过一个高层的 boolean 型变量和字串产生一系列的能够被底层驱动所解释的二进制编码。 boolean 表示语法能够在这个文件的过滤表示语法中找到。pcap_setfilter() 用来联系一个 在内核驱动上过滤的过滤器,这时所有网络数据包都将流经过滤器,并拷贝到应用程序中。 (4)捕捉数据包 pcap_dispatch() 或者 pcap_loop() 函数都可以用来捕捉数据包。这两个函数非常相似, pcap_dispatch() 将会在超时后直接返回,而 pcap_loop() 则一定要等到一定数量的数据包 被处理了以后才会返回,也可以用 pcap_next_ex()来代替 pcap_loop()来捕获数据包。以下 捕获数据包的主要代码: /* 开始捕获数据包*/ pcap_loop(adhandle, 0, packet_handler, NULL); 其中:packet_handler 是处理包的函数 (5)保存捕获的数据包 本科毕业论文 网络流量监控系统 第 16 页 共 43 页 WINPCAP 为我们提供了很多 API 来将流经网络的数据包保存到一个堆文件并读取堆 的内容。系统中采用 pcap_live_dump 将数据写到文件。pcap_live_dump 有三个参数:一 个文件名,和一个该文件允许的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论