当前位置:文档之家› 基于网络协议的流量监控系统的研究与实现

基于网络协议的流量监控系统的研究与实现

第9卷第3期2009年6月湖南工业职业技术学院学报JO URNAL O F HUNAN IND USTRY POLY TECHN I CVol 19No 13Jun 12009基于网络协议的流量监控系统的研究与实现谭群峰(湖南工业职业技术学院,湖南长沙 410208)[摘 要] 随着计算机网络规模的不断扩大、网络复杂性的不断提高、以及网络新业务的不断出现,使得对互联网络的流量特征和网络行为模型的理解和描述这一问题日益突出。

文章从网络安全的角度出发,设计并实现了一个基于W inPcap 的网络流量监控系统。

[关键词] W inPcap;协议分析;流量监控[中图分类号] TP39 [文章标识码] A [文章编号] 1671-5004(2009)03-0016-02Research and I m plem en t a ti on of Network Protocol -ba sed M on itor i n g Syste mT AN Qun -feng(Hunan I ndustrial Vocati onal Technical College,Changsha 410208,Hunan )[Abstract] A s the computer net w ork size gr owing,the comp lexity of the net w ork increasing,as well as ne w business net w ork emerging,theunderstanding and the descri p ti on of the I nternet net w ork traffic characteristics and net w ork behavi or model have become acute .This paper designs and i m p le mentsW inPcap -based net w ork traffic monit oring syste m Fr om the pers pective of net w ork security .[Key words] W inPcap;p r ot ocol analysis;traffic monit oring [收稿日期] 2009-05-20 [作者简介] 谭群峰(1980-),男,湖南涟源人,湖南工业职业技术学院助教,研究方向:软件工程。

一、引言随着互联网和通信网络的不断发展,网络规模在不断的扩大,计算机网络在一方面给用户带来了方便的同时,另一方面也使得设计、维护和保证网络安全变得困难。

通过对网络信息的监测与分析,可记录网络中数据的流量,对网络信息给予适当控制,并有助于分析网络的性能,监控网络各层的协议和服务,分析网内各主机的处理能力,提高对网络的管理。

目前已出现一些专用的网络监测和协议分析软件,它们的共同特点是:利用共享式以太网的广播技术,监测软件能够访问本地网络上数据链路层传输的所有数据包,并按用户的要求对这些包进行相关处理;对各种协议进行分析,从而可以对网络负载流量情况、网络所有的各种通讯协议进行监控[3]。

然而,随着网络技术的进一步发展,共享式以太网逐步被交换式以太网所取代,这些软件的使用效果往往不能令人满意。

因此,我们需要研究一种可以很好的对交换式以太网进行监控的系统,以满足人们的需要。

二、WinPcap 简介W inPcap 就是W indows 平台下的一种捕包技术,它提供了一套标准的捕包接口,与L ibpcap 兼容,可使得原来许多Unix 平台下的网络分析工具快速移植过来,便于开发各种网络分析工具。

W inPcap 由内核级的Netgr oup Packet Filter (npf 1sys )、低级动态链接库(packet 1dll )和高级动态链接库(wpcap 1dll )三部分组成。

本流量监控系统主要用到的函数和功能如表2-2所示。

图2-1 为W inpcap 库的体系结构图函数名称功能描述pcap_l ookupdev ()查询本机的网络接口名字pcap_l ookupnet ()获取网络地址和网络掩码pcap_open_live ()打开一个网络接口进行数据包捕获pcap_comp ile ()编译数据包捕获过滤规则pcap_setfilter ()设置数据包捕获过滤规则pcap_l oop ()循环捕获网络数据包 三、网络流量系统实现网络流量监测系统的主要功能是对网络上的通信情况进行监控,监控的主要内容为数据包。

其实现原理是利用网卡的混杂模式或交换设备的监视端口获取网络上的通信信息,统计网络流量,并根据不同的应用目的对这些信息进行协议解析,得到最终期望的结果,然后对解析的数据内容进行校验,针对敏感信息给出报警,并写相应的日志。

61基于协议分析的网络流量监测系统共分为数据包捕获,网络协议分析,流量统计查询三个主要模块。

模块图如下:11数据包捕获模块数据包捕获模块主要功能是实时的捕获网络数据包,利用ND I S 传输驱动程序,直接读取以太帧,而不是在高层获得I P 数据包。

同时,为提高系统效率,在数据包捕获时应用过滤规则实现对数据包按照地址或者协议名称进行过滤。

其中,按照地址过滤可以选择根据主机MAC 地址或I P 地址进行过滤,按照协议名称过滤可以选择任何系统支持的协议进行过滤。

进行网络流量监测是一个非常耗时的网络操作,如果按照正常的编程模式去进行主机查询,数据包捕获分析,那么时间可能将是不可容忍的。

为保证软件的高效实用,我们在数据包捕获模块和协议分析模块都采用了多线程技术。

在数据包捕获模块中,对线程的控制上采用公共全局变量来控制线程的开始与终止。

当系统启动并开始使用数据包捕获功能时,开启新的线程完成对数据包捕获。

实现代码如下:bool Start Cap tureThread (){if (p MainThread !=NULL ){HANDLE thread =p M ainThread ->m_hThread;if (thread !=NULL ){Cap tureThreadFlag =false;Cl oseHandle (thread );p MainThread =NULL;}}Cap tureThreadFlag =true;//公共变量设为truep MainThread =Afx BeginThread (Thread _Cap ture _Packet,NULL );//启动新的线程return true;}U I N T Thread_Cap ture_Packet (LP VO I D l pPara m ){while (true ){//当公共变量为true 时,数据包捕获开始pcap_l oop (pcap_handle,0,SaveCap ture,(unsigned char 3)du mpfile );Sleep (1000);if (!Cap tureThreadFlag )break;}return TRUE;}21网络协议分析模块网络协议分析模块主要功能是对截获的数据包进行分层解析,可分为数据链路层协议分析、网络层协议分析、传输层协议分析以及应用层协议分析四个部分。

通过协议分析把网络中的数据流转化成可读格式,实时分析数据包中的信息,从而得到数据包的源MAC 地址,目的MAC 地址,源I P 地址,目的I P 地址,源端口,目的端口,应用层协议名以及应用层数据的主要内容,其中在解析应用层数据内容时,利用应用层协议分析描述配置文件进行协议解析,最后将解析后的信息存入数据库中,为流量统计查询模块和审计模块提供数据来源。

在该模块中,网络协议分析可分为在线分析和离线分析两种模式,在线分析模式是通过直接捕获网络数据包对协议进行分析,而离线分析模式则是通过读取文件对协议进行分析,这些文件必须是L ibpcap 文件存储格式。

3流量统计模块流量统计查询模块主要功能是对网络流量进行统计,包括网络进出总流量,网络各应用协议流量,提供可视化的图表形式反映网络流量状态,并能够按照时间、主机I P 地址或MAC 地址以及协议名称等查询条件进行历史数据查询。

四、结论本文对网络流量监测、数据包捕获机制、协议分析、信息审计等概念和理论进行了深入研究,结合当前网络流量监测技术的发展趋势和实际需求,设计实现了一个基于协议分析的网络流量监测系统,加强了对局域网内部活动主机行为的监控。

我们在研究网络协议格式和一般网络协议分析技术的基础上,设计了一个应用层协议描述配置文件,并提出了一个结合网络协议分析和主机行为检测的网络流量监测系统框架。

在这个系统中,对应用层协议数据分析与还原的问题,通过读取协议描述配置文件,可以方便的对不同应用层协议采用同一的方法进行数据解析,解决了应用层协议格式差异性问题,因此我们也可以很好的对该系统能够支持的应用层协议进行扩充,不断适应新的网络应用需求,提高了系统的通用性和可扩展性。

[参 考 文 献][1] 庄春兴,杨晓伟,黄向前1网络数据包的捕获、分析与应用[J ]1计算机应用与软件,2003120(11):68-701[2] S 1Forrest,S 1A 1Hof meyr,A 1Somayajl,and T 1A 1Longsta 1A sense ofself for Unix p r ocesses[J ]1I n Pr oceedings of the 1996I EEE Sy mpo 2sium on -172Security and Privacy 11996:120[3]Opti m izing packet capture on sy mmetric multi pr ocessing machines 1Varenni,G.Baldi,M 1Degi oanni,L 1Riss o,F 1Co mputer Architecture and High Perf or mance Co mputing,20031Pr oceedings 115th Sy mposiu m on,10-12Nov 12003,p108-1151[4]An architecture f or high perf or mance net w ork analysis 1Riss o,F 1Degi oanni,L 1Co mputers and Co mmunicati ons,20011Pr oceedings 1Sixth I EEE Sy mposiu m on,3-5July 20011Pages :686-6931[5] TCP /I P Sniffer design teaches basics of e mbedded ethernet Trinh,L inh (Toshiba ’s Syste m LSI Gr p 1Eng 1)Source:Electr onic Design,v 50,n 8,Ap r 15,2002,p51-54[6] 北京冠群金辰软件有限公司,e I D (eTrust I ntrusi on Detecti on ),ht 2t p://www 1kill 1com 1cn /p r oduct/p r oduct _chanp injjieshao /33721as p,Valid UntilMatch 20081712009年 湖南工业职业技术学院学报 第3期。

相关主题