网络数据包的捕获与分析毕业(设计)论文.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《网络数据包的捕获与分析毕业(设计)论文.doc》由会员分享,可在线阅读,更多相关《网络数据包的捕获与分析毕业(设计)论文.doc(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 陕西理工学院毕业设计网络数据包的捕获与分析王 行(陕西理工学院数学与计算机科学学院网络工程专业1101班,陕西 汉中 723003)指导教师:贾 伟【摘要】网络数据包的捕获对于网络安全有着巨大的作用,为我们更好的分析网络中的数据流提供了帮助。本论文是基于Windows下开发一个网络监听工具,侧重点在于实现网络数据包的捕获,然后分析并显示捕获到的数据包信息这部分功能的实现,如分析:IP首部协议类型、源IP、目的IP和端口号等。采用的是Winpcap(Windows Packet Capture)来实现的抓包功能。通过VC+6.0中MFC编程实现通过一个完整界面来控制调用Winpcap中的函数来
2、实现对网卡信息的捕获和循环捕获数据包,然后通过预先对于IP、TCP、UDP等数据包的定义和TCP/IP等协议来解析其中包含的内容并返回显示捕获到数据包的信息,当然也可以保存捕获到的数据包到指定地点以便进一步分析。【关键词】Winpcap;数据包;捕获;分析第 66 页 共 65 页The Capture and Analysis of Network Data PacketsWang Hang(Grade 11,Class 1, Major Network Engineering, SchoolofMathematicsand ComputerScience Dept, Shaanxi Uni
3、versity of Technology, Hanzhong 723003, Shaanxi)Tutor: Jia WeiAbstract: The capture of network data packets plays an important part in network security, which is helpful for our better analysis of network data flow.This paper is about a network monitoring tool based on Windows system, which emphasiz
4、es particularly on realizing the capture and analysis of network data packets and then displays them. Take analysis as an example, it will check the type of the IP protocol, the source address of IP, the destination address of IP and the port number.Use the Winpcap(Windows Packet Capture)to capture
5、of data packets. In MFC programming of VC+6.0, the capture of network data packets can be realized via the invoking and control of the functions through a full control panel, and then the analysis of IP ,TCP,UDP and TCP/IP will be done before they are displayed. Certainly the information captured ca
6、n be saved to the appointed destination in order to go through an advanced analysis.Key words: Winpcap;Data Packets;Capture;Analysis目 录引言11概述21.1课题背景21.2国内外研究现状21.3课题研究的意义21.4课题研究的内容22相关知识介绍32.1TCP/IP协议简介32.1.1什么是 TCP/IP32.1.2TCP/IP整体构架概述32.1.3TCP/IP中的协议32.2WinPcap开发技术详解52.2.1Winpcap介绍52.2.2Winpcap
7、的组成62.2.3Winpcap 数据结构72.2.4Winpcap 函数73系统设计方案及功能描述93.1系统设计方案93.2系统功能描述94系统编码实现114.1网络数据包捕获模块的实现114.1.1网络数据包捕获程序的编写过程114.1.2在程序中用到的WinPcap内核函数详细介绍124.1.3网络数据包捕获的应用134.2网络数据包分析模块的实现144.2.1网络数据包分析模块主要建立的类144.2.2IP协议分析类的设计144.2.3TCP协议分析类的设计154.2.4UDP协议分析类的设计174.2.5系统中变量函数的设计174.3主界面构造175软件测试19总 结21参考文献2
8、2致 谢23科技外文文献24外文文献翻译36附录A:软件开发源代码47附录B:软件使用说明书65引言随着网络技术的不断发展,通过网络将人与人的距离拉近,因此网络为来自世界各地不同的人、团体、机构构建了一个网络村。网络的出现方便人们的日常生活及工作,在高度发展的今天,网络已经不仅是浏览信息的品台,还广泛的运用到了商业、办公、金融、政务等各行各业中,网络中的风险也越发突出,进而网络安全问题越来越受到关注。因此,对网络的监控与管理势在必行,而想要监控和管理网络,首先就要获取网络中所传输的各类信息,才能进一步得进行监控和管理,可以说数据包的捕获是对网络监控与管理的前提,所以研究并开发出一种能够有效地实
9、时捕获网络信息的系统具有极其重要的意义。在网络中,信息是以数据包的形式传输,所以为了监控计算机当前网络信息,可以通过WinPcap来实现在当前计算机网络中传输的数据包的抓取,然后通过对捕获数据包中数据信息,进行过滤解析,得到所抓数据包的协议、数据长度,以及数据报内容等信息。此外,此次毕业设计还注重研究,主要体现在应用层协议的识别方面,同时采用了基于正则表达式技术得到某种应用层协议的特征表达式。而为了实现将抓包获取的数据进行解析并展现出来,本次毕业设计还要通过C+编程将其编写成为软件,以便于操作运用,能让获取的数据包数据进行解析后,在界面中显示出来,方便查看数据包各类信息,以及进一步的进行一些对
10、应操作,达到我们解析数据包的目的,并可在日后能添加新功能,加强对数据包的分析能力。1 概述1.1 课题背景随着网络技术的飞速发展,网络的普及,给我们带来了巨大的社会和经济效益,同时网络安全问题变得日益严重,计算机网络的设计、维护难度日益增加,安全问题正威胁着每一个网络用户,对网络安全的研究也越来越重要。因此,人们迫切的需要能够分析、诊断和测试网络的工具,以防我们的电脑尽可能减少受到侵害。对于网络数据包的捕获现在也有着很多的实现方法,存在着许多开源的sniffer软件供我们参考,但是其中的某些细节上还是有一些问题的存在,在效果和效率上都有一些问题,分析上也并不是很方便。所以尝试选择了这个课题。1
11、.2 国内外研究现状现在不论是网上的一些开源的Sniffer软件还是市面上出售的网络监听软件,其实其基础功能都是基于网络数据包捕获功能后扩展开的。所以我们可以清晰的认识到网络数据包捕获功能的巨大作用和广泛的应用范围。目前sniffer软件种类繁多,但是很多都存在一些问题,比如说:效率低,效果差,分析困难等等。有些sniffer软件往往嵌入许多并不怎么使用的功能在里面,增加了操作的复杂性,使用起来反而不便。所以真正想要找到一款操作简单使用方便的数据包捕获软件并不容易。作为一名网络工程专业的学生,熟悉常用的各种计算机相关软件,特别是和网络相关的软件是应该的。现在市场上的国内外的各种防火墙软件、网络
12、监听软件和协议分析软件等软件种类繁多,让人有点眼花缭乱。这些产品大多数品质都不错,各有各的特点,所以选择起来的难度也挺大。我总是在一些比较著名的软件下载网站上获取一些比较受好评的软件来使用,然后从中选择适合自己的。通过一系列的使用和学习,我希望能够自己完成一款功能适合自己使用的操作简单让人可以轻易上手的网络数据包捕获和简单分析的软件。1.3 课题研究的意义随着网络的飞速发展,Internet的迅速普及,网络已经深入到了我们的生活,跟我们息息相关。伴随着网络带来的便利,网络安全问题也越来越受到人们的关注和重视。防火墙也成了一个非常热门的课题,带来巨大的社会经济效益,保护我们的合法权益不受到侵害。
13、我选择的课题是windows下的网络数据包的捕获与分析,所以主要的研究方向和侧重点是在于最基本也是最核心的网络数据包的捕获和分析等功能上。网络数据包的捕获对于网络安全领域有着无可代替的重要作用,不论是防火墙技术,网络监听技术或者是网络测试都离不开数据包的捕获,这是一切的基础,其他的功能都要基于这个功能才能实现。1.4 课题研究的内容由上所述,加强对网络中数据包传输的监管,已经越发显得重要。而对网络中所传输的数据包进行捕获则是对网络中数据包管理的前提,通过监控分析网络中的数据包,是建设安全网络的保障。本实验就是通过研究网络中数据包的传输情况,构建一个简单快捷的数据包抓包及分析软件:一、运用C+开
14、发一个简单的软件实现通过调用winpcap来对网络中的基本数据包进行捕获。二、通过winpcap中常用的库函数的使用方式,来实现了简单的小型的络数据包抓包器,并通过对原始包文的分析来展示当前网络的运行状况。三、对捕获的数据包进行解析分类处理,能将所捕获的数据包中的信息解析罗列成数据表,并可导入日志文本存储。通过以上步骤通过实现数据包的捕获、数据包信息的解析、流量的监控以及数据的导出。2 相关知识介绍2.1 TCP/IP协议简介我们捕获数据包的主要目的就是要对捕获的数据包进行分析。而我们目前使用的网络传输协议就是TCP/IP协议。所以我们如果想更好的分析数据包就应该对此协议有点初步的了解。下面我
15、将简单的介绍一下TCP/IP协议。2.1.1 什么是 TCP/IPTCP/IP 是供已连接因特网的计算机进行通信的通信协议。TCP/IP 指传输控制协议/网际协议 (Transmission Control Protocol / Internet Protocol)。TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。2.1.2 TCP/IP整体构架概述TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物
16、理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传灯。如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传
17、送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层(主机-网络层):接收IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。2.1.3 TCP/IP中的协议以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的: (1)IP网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。 IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层-TCP或UDP层;相反,IP层也把从
18、TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。 高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP确认包含一个选项,叫作IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实
19、地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。IP数据报格式如图2.1图 2.1 IP报文格式(2)TCP如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向上传送到TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。 TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,最后
20、到接收方。 面向连接的服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传送有关单个主机的信息。 TCP报文格式 如图2.2图2.2 TCP报文格式(3)UDPUDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询-应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。 欺骗UD
21、P包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的服务面临着更大的危险。UDP报文格式 如图2.3图2.3 UDP报文格式(4)ICMPICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供有关通向目的地址的路径信息。ICMP的Redirect信息通知主机通向其他系统的更准确的路径,而Unreachable信息则指出路径有问题。另外,如果路径不可用了,ICMP可以使TCP连接体面地终止。PING是最常用的基于ICMP的服务。 (5)TCP和UDP的端口结构TCP和UDP服务通常有一个客户/服务器的关
22、系,例如,一个Telnet服务进程开始在系统上处于空闲状态,等待着连接。用户使用Telnet客户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。(6)常用网际协议编号如表2.1表2.1 常用网际协议编号十进制编号协议说明0无保留1ICMP网际控制报文协议2IGMP网际组管理协议3GGP网关网关协议4无未分配5ST流6TCP传输控制协议8EGP外部网关协议9IGP内部网关协议11NVP网络声音协议17UDP用户数据报协议2.2 WinPcap开发技术详解2.2.1 Winpcap介绍Win
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 数据包 捕获 分析 毕业 设计 论文
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内