论文部分内容阅读
网络的飞速发展,给企业和用户带来了便利,但同时也对网络管理提出严峻挑战。局域网内部以及局域网与互联网之间频繁的数据通信,使网络及网络设备在负载、工作效率以及安全性等方面都承受着巨大压力;网络时断时续、网络速度慢、网络遭受攻击却无法定位攻击源等故障一直制约着网络的正常运行。为了能够掌握网络中流量行为状况,更好地管理网络,对于像互联网这样的复杂工程,就需要对网络流量进行有效的监测和分析。因此,设计并实现一个实用的网络监测系统,不仅具有现实价值,也具有研究意义。本文设计和实现了一个基于WinPcap的网络流量监测系统。首先论文总结了网络流量测量的相关理论,全面叙述了网络流量测量的意义和用途,以及网络流量测量技术,包括主动测量、被动测量和抽样测量。并介绍了网络流量测量模型,重点分析了基于流的测量模型。探讨了网络流量监测系统的评价标准,为后续系统实现奠定了基础。其次,本文归纳总结了流量监测系统用到的关键技术,包括:ARP地址解析、多线程技术、定时器技术、SQL Server数据库技术等。深入分析了网络流量捕获技术——WinPcap,包括对其结构的说明,以及对其核心部分——NPF驱动的结构和工作原理的介绍。第三,以前面介绍的内容为基础,对网络流量监测系统进行总体的设计。首先对本系统的需求分析进行研究,继而根据系统的整体架构将系统划分为四个功能模块,分别为:网络报文捕获模块、流量分析模块、流量统计模块、数据存储模块。讨论了各模块的基本功能,并给出了各功能模块之间的交互。然后对系统开发和运行的环境进行了阐述。最后对系统数据库进行了详细的设计分析,包括数据库的概念结构设计和物理结构设计,并给出了系统用到的数据表的详细设计过程。第四,本文进行了网络流量监测系统的详细设计与实现。介绍了实时监测界面的实现,包括对基于对话框窗口的应用程序的创立,系统所需各种控件的创建和类型的选择,以及控件的对应变量的设立,并给出了控件初始化的过程。深入探讨了网络报文捕获模块的设计过程,分析了网络报文捕获模块的数据结构,给出了WinPcap捕获数据包的具体过程,并对ARP获取MAC地址和局域网内的活动主机列表进行了详细介绍。设计并实现了流量分析模块、流量统计模块和数据存储模块,详细讨论了各模块的实现过程。各模块相互协作,共同完成网络流量监测系统的目标。最后,完成系统各功能模块详细设计实现后,对系统进行了测试分析。编写了具体的测试用例,从测试功能、测试用例、测试结果、功能是否实现这四个方面进行了具体的用例测试。最终,设计并完成一个较实用且界面友好的实时流量监测系统,并使得系统具备实时性、有效性、稳定性和可靠性等优点。最后对本文工作做了总结,简要分析了本文网络流量监测系统存在的不足,并对课题的未来研究做出了展望。