IP数据包的捕获与分析文献综述

  • 格式:doc
  • 大小:75.00 KB
  • 文档页数:6

毕业设计(论文)文献综述还有同名论文、任务书、和其他文件题目: IP数据包的捕获与分析姓名:学号:系别:专业:年级:指导教师:(签名)年月日一、研究背景随着社会的飞速发展,科技的日新月异,互联网已经渗透到世界的各行各业和人民生活的各个方面,全社会对网络的依赖程度只增不减,整个世界通过网络正快速的融为一体,网络时代已经来临。

但由于网络具有开放性,互联性,多样性,不均匀性等诸多特征,以至于网络中存在许多风险,例如黑客攻击,恶意软件等。

这些风险的存在,严重的危险到网络上信息的完整性、保密性、真实性、可靠性。

所以网络安全问题已越发受到人们的关注,而想要解决这些问题涉及的内容既有技术方面的问题,也有管理方面的问题,两方面相互补充,缺一不可。

技术方面主要侧重于防范外部非法用户的攻击,管理方面则侧重于内部人为因素的管理。

如何更有效地保护重要的信息数据、提高计算机网络系统的安全性已经成为所有计算机网络应用必须考虑和必须解决的一个重要问题。

可以这样来定义网络数据安全:所谓网络数据安全,指的是网络系统的硬件、软件和数据信息能够受到保护,不会因为偶然或恶意的原因而遭到破坏、更改、泄露,同时系统能够连续、可靠地运行,网络服务不被中断。

但在现实中,绝对安全的网络是没有的。

目前,我正处在高速的现代化建设阶段,政府部门、军队、企业、学校等都需要建立自己的网络和信息系统并实施保护,尤其是有关的重要部门更需要需要网络的安全保障。

所以建立网络安全系统对我们具有重大的意义,而有效的实时监控和捕获可疑的网络信息就是建立网络安全系统的基础。

二、研究意义随着个人计算机和互联网的普及,使我们从一个封闭的环境进入到一个开放的世界,越来越多的人开始使用网络这个媒介来发送,接收信息,计算机网络给人们生产和生活带来了巨大的便利。

但是由于网络是一个面向大众的开放系统,它的这种特性决定了其对数据信息的保密和系统的安全性考虑并并不完备,存在着诸多的安全隐患。

因此让有些个人或团体有机可乘,利用这些隐患和漏洞,通过网络来发送一些包含色情,反动等不良内容的信息,或通过网络入侵他人主机盗取信息和机密,达到破坏正常社会秩序的目的,以至于计算机网络的安全形势日趋严峻。

因此,现在在计算机网络安全隐患中扮演重要角色之一的网络数据抓包软件受到越来越大的关注。

构建安全网络环境,除了通过主动的人为思想的预防以外,一套被动的网络安全检测机制也是必不可少的,通过运用标准的机制对网络中传输的各类型进行实时监控,对具有威胁性的信息进行甄别警报,这套机制的前提就是首先对网络中传输的信息进行捕获,对获取的信息解析筛查。

而想要捕获这些信息,就要知道网络中的信息是以数据包的形式进行传输,想要获取信息,就必须对网络中的数据包进行捕获和分析,才能获得所需要的相应信息。

所以对网络上传送的数据包进行有效的捕获与解析是目前网络监控的关键技术,只有能够进行高效的网络数据包捕获和解析,才能为网管人员听过相应的数据进行分析或其他操作,从而进一步的施行网络安全监控和管理。

IP数据包是网络中最常见的数据包类型,而IP也是TCP/IP协议族中最为核心的协议。

所含有有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输,其中又主要以TCP 和UDP两种数据类型为多数[1]。

所以掌握了对IP数据包的捕获与分析技术,就能对网络中传输的大部分数信息进行监控和管理[2]。

三、相关技术研究(1)IP数据包的格式互联网层是TCP/IP协议参考模型中的关键部分。

IP协议把传输层送来的消息组装成IP数据包,并把IP数据传递给数据链路层。

IP协议在TCP/IP协议族中处于核心地位,IP 协议制定了统一的IP数据包格式,以消除各通信子网间的差异,从而为信息发送方和接收方提供了透明的传输通道。

编制本程序前,首先要对IP包的格式有一定的了解。

图1给出了IP协议的数据包格式。

IP数据包的第一字段是版本字段,其长度为4位,表示所使用的IP协议的版本。

目前的版本IPV4,版本字段的值为4,下一代的版本是IPV6,版本字段的值为6。

本程序主要针对版本值为4的IP数据包的解析。

报头标长(IHL)字段为4位,它定义了以4B为一个单位的IP包的报头长度。

报头除了选项字段和填充域字段外,其他各字段是定长的。

因此,IP数据包的头长度在20-40B之间,是可变的。

图1 IP数据报格式(2)以太网捕获数据包的实现原理在以太网上通讯的每张网卡上都拥有一个全球唯一的物理地址,也叫MAC地址。

该地址是一个48比特的二进制数。

在以太网卡中内建有一个数据包过滤器。

该数据包过滤器的作用是保留以本身网卡的MAC地址为通讯目的的数据包和广播数据包,丢弃所有其它无关的数据包,以免CPU对无关的数据报作无谓的处理。

这是以太网卡在一般情况下的工作方式。

因此在正常情况下,一个合法的网络接口应该只响应这样的两种数据包(帧):一种是帧的目标地址具有和本地网络接口相匹配的硬件地址。

另一种是帧的目标地址是“广播地址”(代表所有的接口地址),格式为。

在接收到上面两种情况的数据帧时,网卡通过CPU产生中断,操作系统进行中断处理后将帧中包含的数据传送给上层系统进行进一步处理。

在其他情况下数据帧将被丢弃而不作处理。

要想捕获到流经网卡的不属于本主机的数据,必须绕过系统正常工作的处理机制,直接访问网络底层。

我们可以把网卡的状态设为“混杂”(promiscuous)模式,当网卡工作在这种“混杂”模式时,该网卡就具备了“广播地址”,它对所接收到的每一个帧都产生一个硬件中断以提醒操作系统处理流经该网卡上的每一个报文包。

操作系统通过直接访问链路层,截获相关数据,由应用程序而非上层协议(如IP层、TCP层)对数据过滤处理,这样就可以捕获到流经网卡的所有数据。

(3)开发语言C++C++是一九八三年由贝尔实验室的Bjarne Strou-strup在C的基础上推出。

C++进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。

C++目前流行的编译器最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2012。

C++语言灵活,功能强大,类层次结构性强,标准定义细致严谨,具有快速和可移植性和面向对象特性,并兼容C语言的几乎所有特性,可扩展性强,很适合编写类库,效率高,运行处理速度快,大部分游戏软件都使用C++编写[3]。

所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。

因而也使得其过度复杂和标准库的过度苍白,掌握起来有一定难度。

(4)开发框架MFCMFC(Microsoft Foundation Classes),是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。

其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。

微软基础类MFC(Microsoft Foundation Classes),同VCL类似,是一种应用程序框架,随微软Visual C++开发工具发布。

该类库提供一组通用的可重用的类库供开发人员使用,大部分类均从CObject 直接或间接派生,只有少部分类例外[4]。

(5)WinPcap技术WinPcap是用于网络封包捕获的一种工具,是在32位的操作平台上解析网络封包工具,包含了核心的封包过滤,一个底层动态链接库,和一个高层系统函数库和可用来直接存取封包的应用程序界面。

WinPcap是一个免费公开的软件系统,它用于windows系统下的直接的网络编程[5]。

WinPcap可以为用户提供了一个强大的编程接口,在各个操作系统之间进行移植较强,方便于程序员对WinPcap进行开发。

因此许多不同的工具软件都会使用WinPcap用于对网络的分析,故障的排除,网络安全的监控等方面[6]。

现今,在一些常用领域,WinPcap 也尤为适用,例如:1、网络及协议分析2、网络监控3、通信日志记录4、traffic generators5、用户级别的桥路和路由6、网络入侵检测系统(NIDS)7、网络扫描8、安全工具四、结论通过搜索和学习各种数据包捕获分析和C++编程方面的资料和文献,以及参考了网络上的案例、分析数据包捕获技术的现状以及未来的发展趋势,规划且设计出一个符合课题需求的方案。

在解决本课题过程中,遇到的多数问题与困难大多都是通过网络这一途径查找并解决,可见一个良好安全的网络对于这个时代的重要性,而数据包捕获与监控技术作为基础也十分值得研究和学习。

在今后的时间里,将继续努力学习相关知识,完善课题的设计与实现。

参考文献[1] 谢希仁.计算机网络第五版[M]. 北京:电子工业出版社.2008.1.122-126.[2] W.Richard Stevens.TCP/IP详解卷1:协议[M]. 北京:机械工业出版社.2000,55~58.[3] 钱能.C++程序设计教程修订版[M]. 北京:清华大学出版社.2009.7.55-226.[4] 邓振杰.C++程序设计[M]. 北京:人民邮电出版社.2005.7.12-79.[5] 沈辉,张龙.基于winpcap的网络数据监测及分析[J]. 北京:计算机科学.2012.25.[6] 费绍敏.基于Winpcap的网络监控系统的设计与实现[J]. 成都:通信技术.2009,6(1):2~3.[7] Bruce Eckel.Java.编程思想(第4版)[M]. 上海:上海大学出版社.2007,15~17.[8] Andrew S.Tanenbaum..计算机网络[M]. 北京:清华大学出版社.1998,98~100.[9] Douglas er.TCP/IP网络互连技术[M]. 北京:清华大学出版社.1998,76~79.[10] 刘芳.网络流量监测与控制[M]. 北京:北京邮电大学出版社.2009.9.39-42.[11] [美]Sridhar, Poduri.Modern C++ and Windows Store Apps[M]. Sridhar&Poduri. 2013.151-210.[12] [美]Jeffrey Richter, Christophe Nasarre.Windows Via C/C++ 5th Edition[M]. Microsoft Press.20011.10.24-143..。