欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    小型网络流量统计系统.docx

    • 资源ID:8940095       资源大小:178.83KB        全文页数:50页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    小型网络流量统计系统.docx

    1、小型网络流量统计系统摘要在电脑日益普及的今天,小型局域网络随处可见,如学校、医院、办公室等场所都在使用。然而随着网络技术的飞速发展,线路容量和设备处理能力的不断提升,网络的传输类型已经从简单的低带宽的文件传输、文字传输等转变为数据、音频和视频等大流量业务,并且用户对业务的可靠性、实时性和安全性的要求也越来越高。小型局域网络虽然不存在较大的安全问题,但是其大流量的数据传输很容易造成网络故障或阻塞,给网内的用户带来不必要的影响。因此对小型局域网络而言,安装一个简单而有效的网络流量监测统计程序是十分必要的。论文主要介绍了网络流量统计的几种方法以及网络流量统计编程使用的几种技术,其中重点介绍最新出现的

    2、一种网络数据捕获开发包WinPcap及其使用方法。关键词:局域网,网络流量统计,WinPcapAbstractUsing the computer which is populary at this time , the small localarea network goes everywhere obviously - the school, the hospital and the office which are all seen its form. however along with the networktechnology which is rapiding developme

    3、ntly, the line capacity and the equipmenthandling ability unceasing promote, the type of the network transmission have changed from the file transfer and the writingtransmission which are the simple low band to the great current capacity service which includes the data, the audio frequency and thevi

    4、deo frequency, and the user request the service which includes the service reliability, timeliness, the secure more high.The small local area network does not have the bigger security problem, but its data transmission which is great current capacity is very easy to make the network breakdown or blo

    5、ck, and it brings the thenonessential influence for the user in the net, so speaking of the small local area network,being installed the simple and effectivenetwork current capacity monitor statistics procedure is extremelyessential.This article mainly introduced some methods of the network current

    6、capacity statistic as well as several kinds of technology which is the network current capacity statisticsprogramming use, and this kind of networkdata capture development package is WinPcap which most newly appears the key introduction. And its preliminary application methods.Key Words: local area

    7、network, network current capacity statistics, WinPcap目录摘要 IAbstract II目录 III第一章 序论 11.1背景介绍 11.2相关技术的分类 11.3硬件检测统计 11.3.1基于流量镜像协议分析 11.3.2基于硬件探针的检测技术 11.3.3基于snmp的流量检测技术 21.3.4基于netflow的流量检测技术 21.4软件检测统计技术 21.4.1windows sockets规范 21.4.2libpacap及winpcap技术 3第二章 winpcap技术 42.1winpcap简介 42.2winpcap的基本使用

    8、方法和基本功能 52.2.1winpcap的使用方法 52.2.2winpcap的基本的功能 5第三章 网络数据捕获机理 73.1网络数据获取机理 73.1.1数据捕获和还原层 83.1.2数据预处理层 83.1.3应用处理层 83.2winpcap的总体结构 83.2.1网络组包过滤器 93.2.2winpcap的过滤机制 93.2.3packet.dll和winpcap.dll 93.3基于winpcap的网络数据获取流程 103.3.1获取NIC的有关信息 103.3.2启动网络侦听 103.3.3设置过滤条件 103.3.4进行循环捕获 11第四章 网络流量数据统计程序设计 124.1

    9、利用winpcap进行数据捕获和过滤 124.2网络适配器的选择 154.3程序运行的主要界面设计 16第五章 程序测试 175.1 软件测试 175.1.1白盒测试 175.1.2 黑盒测试 185.2 测试总结 18结论 19参考文献 20致谢 21附录 22第一章 序论从网络出现的那天起,对于网络流量的统计就是每个网络管理人员所必须做的工作。网络流量的统计不仅能够对网络的安全有所帮助,也能够对网络维护起到很大的作用。对于网络流量的控制能有效的避免因大量数据的同时传送而导致的网络拥塞、网络断开等故障。本文主要针对小型局域网的流量统计及其相关技术进行介绍。1.1背景介绍随着电脑的普及,网络已

    10、经随处可见,而小型局域网以其简单、易组、廉价、实用性高的特点,成为学校、办公室、家庭等小型场所组网的首选。而这其中由于网络同一时刻的流量过大,而造成的网络堵塞乃至断网的问题是不可忽视的。为了解决上述问题,一款直观、易用的网络流量统计工具是必不可少的。现在实用的网络统计工具很多,但是究竟那种最合适于小型局域网以下将对这个问题进行分析,为后期的设计做出准备。1.2相关技术的分类通过对网络流量统计方法的学习,可知网络流量统计技术主要分为两大类:硬件检测统计、软件检测统计。下面分别介绍一下这两类技术。1.3硬件检测统计硬件检测统计技术主要是通过使用诸如路由器,交换机等网络设备来实现流量的统计,其优点在

    11、于稳定、精确、不容易出现故障,适用于大、中型网络以及对稳定性要求很高的网络。以下是其常用方法及原理介绍:1.3.1基于流量镜像协议分析流量镜像(在线TAP)协议分析方式是把网络设备的某个端口(链路)流量镜像给协议分析仪,通过7层协议解码对网络流量进行监测。与其他3种方式相比,协议分析是网络测试的最基本手段,特别适合网络故障分析。缺点是流量镜像(在线TAP)协议分析方式只针对单条链路,不适合全网监测。1.3.2基于硬件探针的检测技术硬件探针是一种用来获取网络流量的硬件设备,使用时将它串接在需要捕捉流量的链路中,通过分流链路上的数字信号而获取流量信息。 一个硬件探针监视一个子网(通常是一条链路)的

    12、流量信息。对于全网流量的监测需要采用分布式方案,在每条链路部署一个探针,再通过后台服务器和数据库,收集所有探针的数据,做全网的流量分析和长期报告。与其他的3种方式相比,基于硬件探针的最大特点是能够提供丰富的从物理层到应用层的详细信息。但是硬件探针的监测方式受限于探针的接口速率,一般只针对1000M以下的速率。而且探针方式重点是单条链路的流量分析,Netflow更偏重全网流量的分析。1.3.3基于snmp的流量检测技术基于SNMP的流量信息采集,实质上是测试仪表通过提取网络设备Agent(数字客户端代理程序)提供的MIB(管理对象信息库)中收集一些具体设备及流量信息有关的变量。基于SNMP收集的

    13、网络流量信息包括:输入字节数、输入非广播包数、输入广播包数、输入包丢弃数、输入包错误数、输入未知协议包数、输出字节数、输出非广播包数、输出广播包数、输出包丢弃数、输出包错误数、输出队长等。相似的方式还包括RMON。与其他的方式相比,基于SNMP的流量监测技术受到设备厂家的广泛支持,使用方便,缺点是信息不够丰富和准确,分析集中在网络的2、3层的信息和设备的消息。SNMP方式经常集成在其他的3种方案中,如果单纯采用SNMP做长期的、大型的网络流量监控,在测试仪表的基础上,需要使用后台数据库。1.3.4基于netflow的流量检测技术Netflow流量信息采集是基于网络设备(Cisco)提供的Net

    14、flow机制实现的网络流量信息采集。Netflow为Cisco之专属协议,已经标准化,并且Juniper、extreme、华为等厂家也逐渐支持,Netflow由路由器、交换机自身对网络流量进行统计,并且把结果发送到第3方流量报告生成器和长期数据库。一旦收集到路由器、交换机上的详细流量数据后,便可为网络流量统计、网络使用量计价、网络规划、病毒流量分析,网络监测等应用提供计数根据。同时,Netflow也提供针对QoS(Quality of Service)的测量基准,能够捕捉到每笔数据流的流量分类或优先性特性,而能够进一步根据QoS进行分级收费。与其他的方式相比,基于Netflow的流量监测技术属

    15、于中央部署级方案,部署简单、升级方便,重点是全网流量的采集,而不是某条具体链路;Netflow流量信息采集效率高,网络规模越大,成本越低,拥有很好的性价比和投资回报。缺点是没有分析网络物理层和数据链路层信息。Netflow方式是网络流量统计方式的发展趋势。1.4软件检测统计技术软件检测统计技术主要是通过使用软件来实现流量的统计,这其中涉及到了对本机网卡的数据捕获技术等等。使用软件检测统计技术的优点在于方便、简单、廉价,它十分适合小型网络的需要(本文的重点就是软件检测统计技术的几种类型)。 以下就是软件方面涉及到的部分技术及其分类。1.4.1windows sockets规范90年代初,由Mic

    16、rosoft联合了其他几家公司共同制定了一套WINDOWS下的网络编程接口,即Windows Sockets规范,它不是一种网络协议,而是一套开放的、支持多种协议的Windows下的网络编程接口。Winsock就是Windows Socket的简称,简单的说,Winsock就是Windows应用程序与TCP/IP之间的通信界面。在Windows中,利用Winsock通信需经过几个步骤:初始化Winsock、创建套接字、建立会话、传送数据、中止会话、中止Winsock。Winsock既可以提供机器间的通讯,又可提供Windows进程间的通信。1.4.2libpacap及winpcap技术libp

    17、cap 和winpcap都是专业网络数据包捕获开发包,其原理也基本相同,不同之处在于libpcap主要适用于Unix或Linux,而winpcap则适用于windows平台。由于本设计主要就是在windows环境下开发,所以将着重介绍winpcap。WinPcap是Windows平台下一个专业网络数据包捕获开发包,是为Libpcap在Windows平台下实现数据包的捕获而设计的。在设计WinPcap时参照了Libpcap,使用方法与LibPcap相似。WinPcap有三个模块构成: 第一个模块NPF(Netgroup Packet Filter),是一个虚拟设备驱动程序文件。它的功能是过滤数据

    18、包,并把这些数据包原封不动地传给用户态模块,这个过程中包括了一些操作系统特有的代码。第二个模块packet.dll是一组用户级的函数库,为win32平台提供了一个公共的接口。不同版本的Windows系统都有自己的内核模块和用户层模块。Packet.dll用于解决这些不同。调用Packet.dll的程序可以运行在不同版本的Windows平台上,而无需重新编译。第三个模块数据包高级驱动程序库(wpcap.dll)与操作系统无关,它提供了更加高层、抽象的函数,含有诸如产生过滤器,用户级缓冲等高级功能。比起Windows Sockets规范,winpcap技术相对更简单、易懂、适合编程。本设计就是基于

    19、winpcap技术的,所以将在后面做更详细的介绍。第二章 winpcap技术2.1 winpcap简介WinPcap是由意大利人Fulvio Risso和Loris Degioanni等人提出并实现的。WinPcap是在Win32环境下用于实现高效数据包捕获的开发包,它的主要思想来自于UNIX系统中著名的BSD包捕获结构,具有良好的结构和性能。WinPcap能实现以下四项功能:捕获原始数据包,包括共享网络上各主机发送/接收的以及相互之间交换的数据包;在数据包发往应用程序之前,按照自定义的规则将某些特殊的数据包过滤掉;在网络上发送原始的数据包;收集网络通信过程中的统计信息。WinPcap 是由伯

    20、克利分组捕获库派生而来的分组捕获库,它是在Windows 操作平台上来实现对底层包的截取过滤。WinPcap 为用户级的数据包提供了Windows 下的一个平台。WinPcap 是 BPF (网络检测工具)模型和 Libpcap 函数库在 Windows 平台下网络数据包捕获和网络状态分析的一种体系结构,这个体系结构是由一个核心的包过滤驱动程序,一个底层的动态连接库 Packet.dll 和一个高层的独立于系统的函数库 Libpcap 组成。底层的包捕获驱动程序实际为一个协议网络驱动程序,通过对 NDIS(网络驱动接口规范)中函数的调用为 Win95、Win98、WinNT、和 Win2000

    21、 提供一类似于 UNIX 系统下 Berkeley Packet Filter(伯克利小包过滤器) 的捕获和发送原始数据包的能力。Packet.dll 是对这个 BPF 驱动程序进行访问的 API 接口,同时它有一套符合 Libpcap 接口(UNIX 下的捕获函数库)的函数库。WinPcap的结构图如图2-1。 前面提到过WinPcap 包括三个部分:第一个模块NPF(Netgroup Packet Filter)、第二个模块packet.dll、第三个模块 Wpcap.dll。 packet.dll和Wpcap.dll:packet.dll直接映射了内核的调用。 Wpcap.dll提供了更

    22、加友好、功能更加强大的函数调用。WinPcap的优势提供了一套标准的抓包接口,与libpcap兼容,可使得原来许多UNIX平台下的网络分析工具快速移植过来便于开发各种网络分析工具,充分考虑了各种性能和效率的优化,包括对于NPF内核层次上的过滤器支持,支持内核态的统计模式,提供了发送数据包的能力。 图2-1 WinPcap的结构图2.2winpcap的基本使用方法和基本功能Winpcap提供了以下的功能:捕获原始的数据包,设置filter,只捕获自己敢兴趣的数据包,方便的把捕获的数据包输出到文件和从文件输入,发送原始的数据包,统计网络流量。2.2.1winpcap的使用方法下载winpcap的安

    23、装包,程序员开发包后。 首先执行安装包,这样机器就能运行winpcap程序了,之后解压开发包,在VC的option的include和lib中加入winpcap的 include和lib ,同时在编程的时候在程序中加入#include , #include .并在工程setting中加入预定义宏:WPCAP,HAVE_REMOTE.导入winpcap.lib库就可以编写winpcap程序了。2.2.2winpcap的基本的功能1.捕获数据包:枚举所有的可用的设备pcap_findalldevs_ex(可选),通过名字打开一个设备pcap_open() 在这里可以打开一个文件,只是在打这个文件之前

    24、需要通过pcap_createsrcstr创建相应的name string ,设置Filterpcap_compile, pcap_setfilter (可选),捕获数据,有几种捕获数据的方法(捕获数据的数据都是最原始的数据包,即包含数据链路层的数据头),是以回调的方式 pcap_loop,pcap_dispatch() ,这两种方法基本相同,底层收集数据包,当满足一定的条件(timeout 或者缓冲区满),就会调用回调函数,把收集到的原始数据包s,交给用户。他们返回的数据缓冲区包含多个包 pcap_next_ex()的方式 每当一个包到到达以后,pcap_next_ex就会返回,返回的数据缓

    25、冲区里只包涵一个包。 2.发送包:Winpcap中有发送单个包和发送多个包的方法。这里只说说发送单个包,通过名字打开一个设备pcap_open, 自己构造一个原始数据包(这个数据包会不经过任何处理就发送出去,所必须把包中的各个字段设置好。另外这个数据包是包含数据链路层报头的),使用pcap_sendpacket()发送数据包。 3.统计网络流量: 通过名字打开一个设备pcap_open 通过 read_timeout来设置统计的时间间隔, 设置filterpcap_compile, pcap_setfilter (可选), 设置设备的为统计模式 pcap_setmode(MODE_STAT);

    26、 ,开始统计,pcap_loop/pcap_dispatch() ,在回调函数中的参数中就包含了统计信息,如下 aspectratio=t v:ext=edit 由此可见winpcap在网络数据处理方面的功能是十分丰富的,本设计主要就是用到了它的网络流量统计功能。第三章 网络数据捕获机理 网络发展至今,对于网络数据的捕获技术也是日新月异,从早期的纯硬件方式到后来的软件方式,数据的捕获变的越来越容易,如今随着winpcap开发包的出现,网络数据的捕获变的更加简单、易操作了。3.1网络数据获取机理在Windows 操作系统中,NDIS起着十分重要的作用,它是网络层协议与网络接口适配器(NIC)之间

    27、的桥梁纽带。所有的网络功能调用都通过NDIS接函数访问网卡来实现,NDIS处于Miniport驱动程序的上面。Miniport相当于IEEE 802 标准的数据链路层的介质访问控制(MAC)子层,而NDIS相当于逻辑连接控制(LLC)子层。当数据包达到网络适配器时,网卡驱动程序将数据通过NDIS发送给Miniport驱动程序,然后Miniport驱动程序通过NDIS发送给传输驱动程序,最后达到上层应用程序。同样,当要发送数据时,应用程序将数据发送给传输驱动程序,传输驱动程序通过NDIS 发送给Miniport 驱动程序,然后Miniport 驱动程序通过NDIS 发送给网卡驱动程序,最后发送到

    28、物理链路上。OSI 通信模型与NDIS的关系如图3-1 所示。 图3-1 OSI通信模型与NDIS的关系应用程序对网卡的访问必须经过NDIS 接口实现,NDIS 向上层提供一个协议接口,向下提供一个miniport接口。NDIS驱动程序通常需要向NDIS接口注册一组进程,NDIS接口在适当的时候能调用注册进程,驱动程序就可以通过这些进程进行相应的数据处理。Windows 允许多个传输驱动程序处于NDIS 的最高层,典型的TCP/IP 实现模块tcpip.sys 就位于这一层,传输驱动程序可以注册为传输提供者,从而为上层的TDI客户提供服务,TDI客户与传输驱动之间采用特定的机制进行通信。对于获

    29、取网络上的传输数据,并对数据进行处理,一般可将应用系统结构划分为三个处理层次:数据捕获和还原层、数据预处理层、应用处理层。3.1.1数据捕获和还原层由数据获取模块和底层打包模块组成。数据获取负责控制网卡,接收网络上的所有报文,其输入为网卡接收的数据流,输出为打包模块;打包模块负责将接收到的报文根据不同的应用,按源IP地址、目的IP地址、源端口号、目的端口号进行数据还原。对于大流量的数据处理,可对接收到的数据进行分类打包,存入数据缓冲区或数据库,方便多线程的处理。3.1.2数据预处理层由分布控制模块和线程处理模块组成。分布控制模块负责与线程队列通信,以及从经底层处理模块处理后的存在缓冲区或数据库

    30、中的数据进行提取,并根据不同的应用需求进行预处理,同时按照一定的分布式计算方法将其放入本机检索队列或后援检索队列或解压队列中,待进一步基于应用的处理。3.1.3应用处理层负责实现和用户之间的交互。根据不同的应用进行数据的内容分析和数据展示,将数据包去掉包头,读取内容并进行分析。3.2winpcap的总体结构通过之前的介绍我们知道WinPcap开发包分为三个相对独立的部分:网络组包过滤器(Netgroup Packet Filter,NPF)、低级动态连接库(Packet.dll)、高级系统无关库(Wpcap.dll),其总体结构如图3-2所示。 图3-2 WinPcap的总体结构以下是对其三部

    31、分的更详细的说明,能让我们进一步了解这三部分的具体工作过程以及它们相互之间的关系。3.2.1网络组包过滤器它是运行于操作系统内核中的驱动程序,它直接与网卡驱动程序进行交互,获取在网络上传输的原始数据包。NPF的结构来源于BPF(Berkley Packet Filter),BPF是用于UNIX 系统中的一种网络监控工具,它使用由UNIX 操作系统提供的内核级别的可访问未处理的原始网络数据的功能。BPF有两个部分,网络开关(network tap)和包过滤机(packet filter),network tap 从网络设备驱动程序中收集数据拷贝并转发到监听程序,network filter 决定

    32、是否接收该数据包以及该数据包方式。实际上NPF是BPF的一个虚拟机,但NPF 不是由操作系统提供而是WinPcap的一部分,其主要任务是从网络系统中获取数据链路层的数据帧,并将它转发给上层模块。NPF与操作系统有关,WinPcap开发组针对不同的Windows 操作系统提供了不同版本的NPF。在Win95/98/ME 系统中,它以VxD 文件形式存在,在WindowsNT和Windows 2000系统中,它以SYS 文件形式存在。该模块提供了捕获数据包以及发送数据包的基本功能,此外还提供了一些高级功能,如数据包过滤系统和检测引擎。NPF通过NDIS和NIC(网络接口卡)进行数据交换,WinPcap允许同时运行多个NPF。当有新的数据到达网卡,NIC就会通知BPF的network tap,BPF开始接收数据,并送到不同的network filter,由network filter 判断


    注意事项

    本文(小型网络流量统计系统.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开