毕业设计(论文)基于网络协议分析系统设计与实现.doc

上传人:文库蛋蛋多 文档编号:3981655 上传时间:2023-03-30 格式:DOC 页数:49 大小:717KB
返回 下载 相关 举报
毕业设计(论文)基于网络协议分析系统设计与实现.doc_第1页
第1页 / 共49页
毕业设计(论文)基于网络协议分析系统设计与实现.doc_第2页
第2页 / 共49页
毕业设计(论文)基于网络协议分析系统设计与实现.doc_第3页
第3页 / 共49页
毕业设计(论文)基于网络协议分析系统设计与实现.doc_第4页
第4页 / 共49页
毕业设计(论文)基于网络协议分析系统设计与实现.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《毕业设计(论文)基于网络协议分析系统设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于网络协议分析系统设计与实现.doc(49页珍藏版)》请在三一办公上搜索。

1、原 创 性 声 明本人郑重声明:本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。毕业论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人承担。论文作者签名: 日 期: 关于毕业论文使用授权的声明本人在指导老师指导下所完成的论文及相关的资料(包括图纸、试验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属平顶山学院。本人完全了解平顶山学院有关保存、使用毕业论文的规定,同意学

2、校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被查阅和借阅;本人授权平顶山学院可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存和汇编本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为平顶山学院。本人离校后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为平顶山学院。论文作者签名: 日 期: 指导老师签名: 日 期: 基于网络协议分析系统设计与实现摘 要随着网络技术的不断发展,社会进入了一个信息爆炸的时代,世界也由于网络而变小,人们通过各种技术和工具使交流突破了空间的限制。在网络技术发展与普及的同时,网络安全问题

3、引起了人们的广泛关注。因此,研究并开发出一种能够有效地实时捕获网络信息的系统具有极其重要的意义。基于网络协议的网络分析系统是网络管理和安全领域中专业的网络分析工具,它通过捕获网络中传送的数据包,以TCP/IP理论为基础对捕获的数据包进行层层拆解,分析包头以及数据包的内容,给出协议的详细信息和统计结果,并将数据转化为可读性强的易于理解的形式呈现给管理人员,进而帮助发现网络潜在安全隐患,可在网络发生故障时迅速提供第一手的网络信息,使得网络管理人员可以快速准确地定位故障原因,找出引起故障的网络节点,以最快的速度恢复网络的正常运行。本论文针对网络数据的捕获与数据包信息分析等问题进行了深入的探讨和研究。

4、逐一介绍了信息捕获中的相关技术及需求分析,在系统设计中对数据包捕获模块、分析数据包模块和数据库信息模块的实现进行了详细讲述。通过运用WinPcap开发包实现网络数据包的捕获,利用TCP/IP 协议的封装理论和自下而上的分析实现了数据包信息的分析,并且将分析出来的信息存入数据库。另外,还能实现一些功能,如对指定的IP地址进行数据包的捕获,对捕获结果进行显示等。关键词:WinPcap,数据捕获,协议分析Based on the network protocol analysis system design and realization AbstractWith the development o

5、f the network technology society into a the age of information explosion, the world is due to network and smaller, people through the various techniques and tools make the communication broke through the space restrictions. Network technology in the development and popularization of the network secu

6、rity question,meanwhile ,has attracted widespread attention. Therefore, to study and develop a can effectively capture network information system real time has very important significance. Based on the analysis of network protocol network system is the network management and safety in the field of p

7、rofessional network analysis tool, it through the capture network transfer in packets, TCP/IP theory as a foundation to capture the data packets, taken apart by layer analysis and the content of the packets in baotou, give the detail information and agreement statistics results, and conversion of da

8、ta for readable form of easy to understand presented to management, then to help find that the network security problems, can be in potential network is at fault first-hand information of the network quickly, enabling the network management personnel can fast and accurate positioning, and find out t

9、he reason for failure caused by fault network node, with the fastest speed and restore the normal operation of the network.This thesis aims to capture and network data packets information analysis, this paper probes into and research. The author introduces the related technical information capture a

10、nd requirement analysis, system design of the packet capture module, packet analysis module and database information the module carried on the detailed narration. Through the use WinPcap network packets to capture setups, the TCP/IP protocol encapsulation theory and the analysis of the data packets

11、from bottom to realize information of analysis, and will come out in the data analysis of the information. Additional, still can achieve some functions, such as the IP address of designated on the packet capture, to capture the display. Key Words: WinPcap, Data capture, protocol analysis目录1 绪 论11.1

12、课题研究背景及意义11.2 国内外研究状况21.3 论文的主要工作21.4 论文的组织安排32 相关技术研究52.1 WINPCAP简介52.2 数据捕获相关理论基础72.2.1 TCP/IP协议72.2.2 数据封装与分用过程92.2.3 IP协议102.3 microsoft office access数据库122.4 开发平台与运行环境133 系统分析和设计153.1 系统需求分析153.1.1系统工作流程分析153.1.2基于网络协议分析系统的问题分析173.1.3系统的功能需求分析183.1.4系统的性能需求分析183.1.5系统的数据库需求分析193.2 系统详细设计203.2.1

13、系统设计目标203.2.2系统的功能模块设计203.2.4系统的数据库设计214 系统实现234.1 系统功能实现234.1.1数据包捕获模块实现234.1.2数据包分析模块实现244.1.3数据信息转化存储模块实现265 系统测试285.1系统测试理论285.1.1 功能测试285.1.2 性能测试295.1.3 可用性测试295.1.4 客户兼容性测试305.2 本系统的测试方式305.2.1 功能、可用性测试306 结束语316.1 总结31附 录32参考文献42致 谢431 绪 论1.1 课题研究背景及意义计算机网络的发展给整个计算机产业甚至整个人类的工作、生活方式带来了巨大的变化,特

14、别是信息技术的发展使一个信息缺乏的时代进入了一个信息爆炸的时代,世界也由于Internet而变小。人们通过各种技术,工具使得交流突破了空间的限制。全球范围内的网络互联给人们的生活和工作带来了方便,人们正享受网络技术带给我们美好生活。但同时某些不法分子利用网络的漏洞非法入侵他人的主机系统,有的利用网络盗取他人个人信息,如网上银行帐号密码等,对他人财产安全造成了重大威胁。据有关资料统计,我国2000年以来,通过网络进行的违法犯罪行为在以每年30%的速度迅速上升。面对计算机犯罪越来越多的趋势,及网络上日益泛滥的信息垃圾和污染情况,我国政府未雨绸缪,已经制定了关于互联网络使用的法律法规,网络安全问题已

15、面临着重大挑战。目前我国正在进行大规模的现代化经济建设,需要使用自己的网络和信息安全系统来保护自己的网络和信息系统,尤其是对于全国性大型计算机网络而言,必须将网络安全和信息安全放在非常重要的地位上,而从长远角度看,这只能依靠我们自己解决。因此建立网络安全系统是我们现在迫切需求,这项工作对我们来说具有重大的政治和经济意义面对这种形式研究并开发出一种能方便有效的实时监视和捕获可疑网络信息的系统迫在眉睫。随着信息化程度的提高,使我们从一个封闭的环境进入到一个开放的世界,但我们所担心和关心的问题便是网络安全问题,也就是内部网络安全和外部网络安全的问题。本课题正是针对这种情况和需求,对实时数据捕获与网络

16、信息监控提出系统设计方案,并对信息过滤和跟踪的方法和技术进行研究,基于网络协议的网络分析系统是网络管理和安全领域中专业的网络分析工具,它通过捕获网络中传送的数据包,以TCP/IP理论为基础对捕获的数据包进行层层拆解,分析包头以及数据包的内容,给出协议的详细信息和统计结果,并将数据转化为可读性强的易于理解的形式呈现给管理人员,进而帮助发现网络潜在安全隐患,可在网络发生故障时迅速提供第一手的网络信息,使得网络管理人员可以快速准确地定位故障原因,找出引起故障的网络节点,以最快的速度恢复网络的正常运行。此外,还可以通过分析网络通信情况以及网络连接状况,对网络性能和资源的合理分配,为规划调整网络提供可靠

17、依据。因此,研究并开发基于网络协议的网络分析系统,以有效地实时捕获网络中传输的信息并进行安全分析,具有极其重要的意义。1.2 国内外研究状况在基于网络协议的网络分析技术领域,国内外的研究及其技术发展已经相当成熟。国外典型的网络分析软件有很多,Gerald Combs开发的Etheral网络协议分析软件,能够抓取网络封包,显示出详细的网络封包资料,并且能够根据抓包信息破译来破解局域网内邮箱、MSN等账号信息;TamoSoft公司开发的CommView,能检验每个单独的数据包,并对其底层协议进行全面分析;NAI公司开发的Sniffer Pro,界面美观,可以动态的查看当前的网络结构,可以在各种平台

18、下良好运行,是目前使用最广的一款网络分析软件;Martin Roesch开发的Snort,可以从网络上读取数据包,并且可以将读取的数据包信息作为连续不断的流显示在终端上,是网络安全领域当前配置入侵检测系统的基础软件。国内也有许多关于网络分析系统方面的研究,网络协议分析技术企业科来软件于2009年开发完善的“科来网络分析系统6.9版”,为网络管理工作提供了全面可靠的数据依据,能够帮助用户排查网络故障、规避网络风险、提升网络性能、提高故障处理能力、减少故障损失并降低管理成本。Linux防火墙体系中Netfilter的L7 filter模块使用基于应用层内容的特征码匹配方式进行协议分析;Ethera

19、pe是一个图形化的网络分析软件,能够以图形的方式显示当前的网络活动。使用基于端口的协议分析方式,可以根据数据包所使用的端口在录有协议类型的二进制文件中查找相应的协议。目前,国内的网络分析研究正日趋成熟,但和国外的相比,还是存在一定的差距,网络分析系统的研究是一项长远而有意义的工作。1.3 论文的主要工作本文的内容是在总结国内外基于网络协议分析系统的优缺点的基础上,开发一个能对网络中传输的数据进行捕获,并能对其进行基本的网络协议分析的系统,具体内容如下:(1) 确定需求该系统需要完成对网络中传输的数据包进行捕获,并对其进行基本的网络协议分析操作。有时我们需要对某台确定的计算机进行安全检测,所以该

20、系统还需要完成通过输入计算机IP地址,然后对该计算机中的数据包进行捕获和基本的网络协议分析操作。并且,由于面向的用户并不一定十分精通计算机或网络的使用,因此,界面应十分友好,使用简便。(2) 系统的总体设计在确定系统开发需求后,认真做好系统的总体设计。使整个系统在完成所有功能需求的基础上,简便,易操作,即使是不十分精通计算机或网络的使用的用户,也能轻松独自操作。(3) 使用技术及相关软件使用Winpcap开发包,在VC+环境下开发一款简单的软件对网络上传输的数据包进行捕获,以TCP/IP理论为基础对捕获的数据包进行协议分析,并将分析后的数据信息进行入库管理。(4) 主要功能设计根据系统的用户需

21、求进行功能模块的细分。数据捕获模块的设计:使用Winpcap开发包,在VC+环境下开发一款简单的软件对数据包信息按TCP协议类型、UDP协议类型和特定IP地址进行分类捕获,捕获出所需要的敏感信息。数据包分析模块的设计:根据TCP/IP分层理论进行层层拆解,提取相关协议中的信息。并且将捕获出来的信息写入数据库。网络数据过滤模块的设计:根据协议分析对比,输出发送不良信息主机的IP地址,并过滤从这台主机上发送的所有TCP和UDP协议类型的数据。(5) 进行系统数据库设计由于网络的公开性,在数据库的设计上应注重考虑安全问题,以保证数据不被恶意篡改或破坏,从而保证系统运行结果的正确性和可靠性。(6) 基

22、于网络协议分析系统的实现在完成系统需求分析和数据库设计的基础上,本文使用Winpcap开发包,在VC+环境下开发一款简单的软件对网络上传输的数据包进行捕获,以TCP/IP理论为基础对捕获的数据包进行协议分析,并将分析后的数据信息进行入库管理。1.4 论文的组织安排围绕以上内容,论文的结构安排如下:(1) 绪论该章主要介绍了基于网络协议分析系统的研究背景及意义,国内外研究现状及论文完成的主要工作。(2) 相关技术与工具研究该章对基于网络协议分析系统设计过程中用到的技术和开发工具进行较详细的说明,为项目的设计做技术支持。(3) 系统分析和设计该章在完成系统需求分析的基础上,对系统的架构、系统的功能

23、和数据库进行设计。(4) 系统的实现该章对系统架构层次的实现和系统功能模块的实现做了详细说明。(5) 系统测试该章从功能、性能和客户端兼容性等方面进行测试。(6) 结束语该章对本论文做出总结。2 相关技术研究网络数据捕获技术是获取信息的关键技术,它通过监听技术,过滤技术获取原始数据,根据TCP/IP分层理论进行层层拆解,提取相关协议中的信息。本毕业设计主要通过使用Winpcap开发包,在VC+环境下编写出了一款简单的软件对数据包信息按TCP协议类型、UDP协议类型和特定IP地址进行分类捕获,捕获出所需要的敏感信息,并且将捕获出来的信息写入数据库。2.1 Winpcap简介Winpcap(win

24、dows packet capture)是Windows平台下一个免费,公共的网络访问系统。开发Winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力。它提供了以下的各项功能:(1)捕获原始数据报,包括在共享网络上各主机发送/接收的以及相互之间交换的数据报;(2)在数据报发往应用程序之前,按照自定义的规则将某些特殊的数据报过滤掉;(3)在网络上发送原始的数据报;(4)收集网络通信过程中的统计信息。Winpcap的主要功能在于独立于主机协议(如TCP/IP)而发送和接收原始数据报。也就是说,Winpcap不能阻塞、过滤或控制其他应用程序数据报的发收,它仅仅只是监听共享网络上传

25、送的数据报。Winpcap是Win32平台下的数据包捕获与网络分析架构,由三个模块构成:NPF, packet.dll, wpcap.dll。前一个工作在内核层,后两个工作在用户层。第一个模块是内核部分NPF (Netgroup Packet Filter),在Win95/98中它是一个VXD(虚拟设备驱动程序文件)文件,在WinNT/Win2000下是一个SYS文件。它的主要功能是过滤数据包,并把这些数据包原封不动地传给用户态模块。当然也添加了一些系统特定的标志(比如时间戳管理)。这个过程中包括了一些操作系统特有的代码。第二个模块packet.dll用来在不同的Win32平台下提供一个通用的

26、公共的包驱动接口。事实上,不同版本的Windows平台在内核层模块和用户进程之间的接口不完全相同,packet.dll用于解决这些不同。提供了一套系统独立的API(Application Programming Interface 应用编程接口),调用packet.dll的程序能够运行在不同版本的 Windows 平台上而无需重新编译。packet.dll还有一些附加的功能。它可执行一些低层操作:如:获得网卡名字,动态装载驱动,得到比如机器的网络掩码、硬件冲突等一些系统特定的信息。第三个模块wpcap.dll是系统无关的,它提供了更高层、抽象的函数。它包括了一些比如过滤器生成、用户级缓冲等其它

27、的高层函数,增加了比如统计和包发送等更高级的特性。因此程序员能处理两种类型的API:一套原始函数集,包含在packet.dll中,直接与内核层调用匹配;另一套高层函数由wpcap.dll提供,便于用户调用,功能更强大。程序员能随意使用wpcap.dll,但只能在受限的环境中直接使用packet.dll。Wpcap.dllApplicationNPFDevice DriverPacket.dllUser LevelKernel LevelNetworkPackets图1 WINPCAP结构图总的说来,Packet.dll直接映射了内核的调用。Wpcap.dll提供了更加友好、功能更加强大的函数调

28、用。Winpcap的具体结构图1所示: Winpcap是用NDIS(Windows的通信协议程序(比如TCP/IP)和网络设备驱动器之间通信的规范)的,将自己注册为一个协议处理驱动。Wincap的使用非常方便,但是它有一个致命的缺陷就是只适用于共享式以太网络,对于交换式网络下的数据则无能为力。经过测试,在使用交换机连接的局域网下,Wincap只能监听到本网段内的数据,而对于来自其他网段的数据则无法监听,除非你把probe接到交换机之前或者接到交换机的console口上,不过那样的弊端是显而易见的,所以,Winpcap的应用还是有局限性的。Winpcap结构图如下:图2 NPF device d

29、river2.2 数据捕获相关理论基础2.2.1 TCP/IP协议TCP/IP(Transfer Contrcol/Internet Protocol)传输控制协议/网际协议起源于60年代末美国政府资助的一个分组交换网络研究项目,到90年代已发展成为计算机之间最常应用的组网形式。它是能够在网络中提供可靠的数据传输和无连接的数据报服务的一组协议。提供可靠数据传输的协议称为传输控制协议TCP,提供网络寻址的协议称为网际协议IP,它只是TCP/IP协议族的其中的两种协议。TCP/IP协议族是一组不同的协议组合在一起构成的协议族,它是一个真正的开放系统。现已成为全球互联网中的基础。基于TCP/IP协议

30、的网络体系结构,TCP/IP协议分为四层如图3所示,每一层分别负责不同的通信功能。应用层Telnet、Ftp、Email等传输层TCP、UDP网络层IP、ICMP、IGMP网络接口层设备驱动程序及接口卡图3 TCP/TP协议族的四个层次链路层:有时也称作数据层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理任何传输媒介的物理接口细节,它使用的协议为以太网协议。网络层:有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP 协议族中,网络层协议包括IP(网际协议)、ICMP(因特网网间控制报文协议)以及IGMP(因特网组管理协议)。传输层

31、:它主要为两台主机上的应用程序提供端到端的通信。TCP/IP协议族中,有两个互不相同的传输协议:UDP(用户数据报协议)、TCP(传输控制协议)。TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等,由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。应用层:它负责处理特定的应用程序细节。对于TCP/IP协议族

32、,它提供Telnet(远程登录协议)、FTP(文件传输协议)、SMTP(简单邮件传送协议)、POP3(邮件接受协议)、SNMP(简单网络管理协议)。通常应用程序是一个用户进程,而下面的三层进程则是一般在内核中执行的。应用层关心的是应用程序的细节,它不关心数据在网络中的传输。下三层对应用程序一无所知,但却要处理所有的通信细节。在TCP/IP 协议族中,有很多协议。TCP和UDP是两种最为著名的运输层协议,二者都使用IP作为网络层协议。虽然TCP使用不可靠的IP服务,但它却提供一种可靠的运输层服务。除了以上提到的协议,还有下面几个协议:IPARP(地址解析协议)、RARP(逆向地址解析协议)、动态

33、选路协议(RIP、OSPF、BGP、CIDR)、 DNS(域名系统)、TFTP(简单文件传送协议)等。图4 为TCP/IP 网络体系结构与上述各协议之间的关系模型。图4 TCP/IP协议族中不同层次的协议从图的模型中可以看到,应用层的大多数应用程序通过TCP、UDP来访问网络层,或者通过ICMP来使用网络层,如Ping、Trace Route等也可以使用IP直接访问网络层。传输层中的TCP、UDP为应用层提供可靠的或不可靠网络传输的网络传输服务。网络层的ICMP是IP协议的附属协议,IP协议用它与路由器之间交换错误报文或其它控制信息。网络接口层的ARP、RARP是以太网和令牌环使用的特殊协议,

34、用来转换IP层和网络接口层使用的地址。2.2.2 数据封装与分用过程以用户用TCP协议传送数据为例,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息)。TCP传给IP的数据单元称作TCP报文段或简称为TCP段(TCP segment)。IP传给网络接口层的数据单元称作IP数据报。通过以太网传输的比特流称作帧(Frame)。这就是通常说的数据的封装过程,如图5所示。图5数据进入协议栈时的封装过程当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去

35、掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用(Demultiplexing),图6显示了该过程是如何发生的。图6 数据帧的分用过程 2.2.3 IP协议 IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。IP提供不可靠、无连接的数据报传送服务。IP数据报的首部信息如图7:图7 IP数据报格式及首部中的各字段IP各域的含义如下: 版本:当前IP协议的版本号,本论文采用的版本号为4;首部长度:以32bit为单位的包头长度;服务类型:规定对本数据报的处理方式,比如优先权等;总

36、长:以Byte为单位的整个IP数据报长度;标识:信源主机赋予每个IP数据报的唯一标识符号,用于控制分片及其重组;标志和片偏移:同样用于控制分片及其重组;生存时间:设置本数据报的最大生存时间,以秒为单位;协议:表示创建本IP数据报数据区数据的高层协议的类型,如TCP,UDP等;头标校验和:用于保证头标数据的完整性;源IP地址和目的IP地址:分别指发送本数据报的主机IP地址和接受本数据报的主机的IP地址;选项:用于控制和测试,是IP数据报中可选的部分,包含“源路径”、“路径记录”、“时间戳”等几种类型。TCP协议是网络中应用最为广泛的协议,许多的应用层协议都是在建立在TCP协议之上的。TCP首部的

37、各字段如图8所示:IP首部 TCP首部 TCP数据IP数据报TCP报文段20字节20字节图8 TCP数据在IP数据报中的封装TCP协议头部信息如下:源端口:发送端TCP端口号。目的端口:接收端TCP端口号;序号:指出段中数据在发送端数据流中的位置;确认号:指出本机希望下一个接收的字节的序号;头标长度:以32bit为单位的段头标长度,是针对变长的“选项”域设计的;码位:指出段的目的与内容,不同的各码位置位有不同的含义;窗口:用于通告接收端接收缓冲区的大小;校验和:这是可选域,置0表示未选,全1表示校验和为伍紧急指针:当码位的URG置位时,指出紧急指针的序号。UDP协议是英文User Datagr

38、am Protocol的缩写,即用户数据报协议,主要用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。UDP数据报各域的意义与TCP段中相应的域相同。只有校验和有些不同,除UDP数据报本身外,它还覆盖一个附加的“伪头标”。这个伪头标来自于IP报头,包括:源IP地址、信宿IP地址、协议类型、UDP长度及填充域。UDP首部的各字段图9所示:图9 UDP首部2.3 micr

39、osoft office access数据库Microsoft Office Access是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程式之一。Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。它也常被用来开发简单的WEB应用程序这些应用程序都利用ASP技术在Internet Information Services运行它的使用方便程度和强大的设计工具为初级程序员提供许多功能

40、。Microsoft Office Access的优点:(1)通过使用Access Basic可以增加应用程序的执行速度,减少编码量。(2)减少在为Microsoft Windows应用程序接口编程时、在开发应用程序中遇到的问题的技术。谨慎地使用变量和它所占用的存储空间能有效地减少一个应用程序所消耗的资源,同时也全面提高了它的性能。 Microsoft Office Access常见的问题:(1)不正确地调用Windows应用程序接口可能会产生一些意想不到的副作用,以及潜在地对一个应用程序的代码及数据段的破坏。因此正确地使用一个空的32位指针在Microsoft Access 中是十分必要的。

41、 (2)当对表格和报表进行操作时,Microsoft Access有一个无正式文本的特性。这个特性允许你从设计视窗性质sheet window中进行过程调用,调用的方法时同时按下shift和F2键。2.4 开发平台与运行环境 (1) Visual c+ 6.0开发平台Visual C+6.0是微软公司推出的开发Win32应用程序(Windows 95/98/2000/XP/NT)的、面向对象的可视化集成工具。它的最大优点就是提供了功能强大的MFC类库,MFC是一个很大的C+类层次结构,其中封装了大量的类及其函数,很多Windows程序所共有的标准内容可以由MFC的类来提供,MFC类为这些内容提

42、供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓,这将简化编程工作,大大的减少程序员编写的代码数量,使编程工作变得更加轻松容易。 (2) 运行环境本系统的运行环境是Windows XP +Winpcap+Microsoft Office Access由于系统是跨平台的,故对运行环境的操作系统没有任何限制。本系统采用的操作系统为Windows系统。但为了系统的长期稳定,建议在Linux系统下运行。系统是在Winpcap环境下运行的。Winpcap(windows packet capture)是Windows平台下一个免费,公共的网络访问系统。开

43、发Winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力。Winpcap是Win32平台下的数据包捕获与网络分析架构,能够监听共享网络上传送的数据报。系统采用Microsoft Office Access数据库。Microsoft Office Access是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 的系统程式之一,可以增加应用程序的执行速度,减少编码量。3 系统分析和设计需求分析和系统设计是软件开发的基础,决定着软件开发的成功与否15。本章针对基于

44、网络协议分析系统的需求,首先分析系统的功能、性能和数据库的需求,使用UML对系统进行建模,然后设计系统的架构、系统的功能和数据库。3.1 系统需求分析需求分析就是以用户的需要以及实际情况为出发点,为用户合理地选择系统提供了基本保障,它的结果影响着整个系统的成功与否。需求分析工作是软件生存期中重要的一步,也是决定性的一步。在这个阶段中应当充分了解用户的各种情况,包括用户的工作流程,与用户讨论对系统的具体要求方案,主要针对其现行的情况制定出一套用户的需求方案。3.1.1系统工作流程分析基于网络协议分析系统的工作流程分析如下:查找网卡设备获取网卡设备打开网卡设备捕获网络数据包分析以太网协议判断协议类

45、型,即是IP协议类型,UDP协议类型,或者TCP协议类型分析各种协议类型数据包传入数据库处理模块对数据进行分类保存。整个工作流程可大致分为三个阶段:第一阶段:对网络中的数据包进行捕获。该系统利用Winpcap控件,通过网卡设备从网络中捕获TCP协议类型数据,UDP协议类型数据和从某一特定的IP地址发送出来的TCP协议类型数据和UDP协议数据类型。本过程是基于网络协议分析系统的重要环节和关键阶段,对数据包捕获过程主要分为三个环节:查找设备、打开设备和捕获数据的函数、利用WinPcap结构提供的wpcap.dll来开发实现数据包捕获程序。(1) 查找设备: 系统先确定要在网络上进行监测的网络适配器

46、,得到现有的网络适配器的列表和他们的描述,从而获得NIC的相关信息。(2) 打开设备和捕获数据的函数: 打开所获得的网络适配器,利用其中的pcap_open函数进行数据捕获,该函数有五个参数,其中参数1为上面获得的NIC名称,参数2定义了网络监测程序所捕捉的最大字节数。参数3指示是否将网络适配器设为混杂模式,PCAP_OPENFLAG_PROMISCUOUS表示工作方式为混杂模式。参数4为捕获时间限制,单位为毫秒。参数5为错误信息缓存。该函数负责按照用户指定参数和其它系统默认值初始化WinPcap,并返回会话句柄。(3) 利用WinPcap结构提供的wpcap.dll来开发实现数据包捕获程序:

47、 当网卡已打“打开”并且具体配置好后,就可以进入捕获了。考虑到系统资料的占用等问题,利用了线程来解决此问题,捕获数据是新建一个线程,来实现数据的捕获,再在线程中处理数据的解析和特征码的提取。该阶段的工作流程图如下图图11所示。图11 数据捕获模块流程图第二阶段:数据分析阶段。该过程主要目的是提取数据包中主要的一些信息,如IP数据包中的IP地址,端口信息等。但是由于从网络适配器中捕获的数据为原始数据(raw data),这些原始数据为二进制格式,必须转化为能比较好明白的格式,这就要求将这些原始数据能按照网络数据传输的具体格式来保存,主要为了能较好的读懂相关的信息,以便使用者分析。该阶段的工作流程图如下

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号