已阅读5页,还剩66页未读, 继续免费阅读
(计算机应用技术专业论文)基于wireshark的协议分析研究与扩展实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 近年来,大量信息的传输给网络的安全带来了极大的影响,如何对有效信息 和不良数据的有效监控已变得非常重要,也对网络管理提出了更高的要求。而计 算机网络数据传输的多样性正是由于其依赖的各种协议和数据包结构,所以对网 络数据传输的监控实际就是对网络数据的采集和对应的协议解析。 本文首先分析了网络数据采集技术的特点:基于软件的网络采集平台基础通 常是基于标准操作系统的a p i 功能扩展得以实现。底层数据包捕获函数库最早来 自于u n i x 内核的l i b p c a p 函数库,随着w i n 3 2 软件的日益增加,其被移植到 w i n d o w s 系统上,就是目前的w i n p c a p 数据捕获包,被广泛地应用于网络故障的 诊断和分析、网络测试软件工具和网络协议的开发及研究等领域中;本文重点研 究了它提供的接口和友好的调用方式,以实现本课题设计中对数据捕获软件底层 的支持,它也是网络分析软件开发的基础。 本文选择著名的开放源码的网络协议分析工具w i r e s h a r k 作为研究和设计网 络协议解析器的设计平台。为此,本文重点完成了在w i n 3 2 环境下w i r e s h a r k 工具 软件的编译实现,以及掌握该应用软件利用w i n p c a p 为基础,所实现的网络底层 数据的捕获和协议分析等功能。本文根据对w i r e s h a r k 的深入分析,还研究了在 w i n d o w s 平台下开发w i r e s h a r k 协议解码器的方法,以及该系统软件对第三方开发 的友好支持。尤其在面向用户的应用层通信协议领域,利用最新版本的w i r e s h a r k 可以支持多种协议的解析和用户可以设计特定的协议等优点,分析了目前较具代 表性的i o c p 模型的通讯软件特点。尝试研究、定义了i o c p 的协议c h a t p a c k , 并通过对w i r e s h a r k 的分析研究扩展实现了在该平台上将协议添加到协议树和设 计具备此协议解析功能的d i s s e c t o r 等功能。通过建立并完善新的协议解析内容, 为目前的网络数据分析,尤其是局域网特定应用的协议分析提供了设计的基本结 构和思路。 关键词:数据包,网络协议,w i n p c a p ,w i r e s h a r k ,协议解析 a b s t r a c t a b s t r a c t i nr e c e n ty e a r s ,t h et r a n s m i s s i o no ft h em a s si n f o r m a t i o nh a sg r e a t l yi n f l u e n c e d t h es e c u r i t yo fn e t w o r k , s oi t s v e r yi m p o r t a n tt om o n i t o rt h ee f f e c t i v ei n f o r m a t i o na n d b a dd a t aa n dh a v eh i g h e rr e q u i r e m e n t sf o rt h en e t w o r km a n a g e m e n t t h ed i v e r s i t yo f t h et r a n s m i s s i o no fn e t w o r kd a t ai sa l lb a s e do nt h ev a r i o u sp r o t o c o l sa n dp a c k e t s ,t h u s , t om o n i t o rt h et r a n s m i t t i n gn e t w o r kd a t ai sv i r t u a l l yt oc a p t u r et h ep a c k e t sa n da n a l y z e t h ep r o t o c o l s t h i st h e s i sf i r s t l yd e s c r i b e st h ec h a r a c t e r i s t i c so ft h et e c h n o l o g yo fc a p t u r i n g n e t w o r kp a c k e t s :t h eb a s i so fn e t w o r kc a p t u r i n gp l a t f o r mi sg e n e r a l l yr e a l i z e db yt h e f u n c t i o n a le x t e n s i o no ft h ea p i sb a s e do nt h es t a n d a r do p e r a t i n gs y s t e m t h el i b p c a p f u n c t i o nl i b r a r yf r o mu n i xk e r n e lh a sb e e nv i e w e da st h eb o t t o mc a p t u r i n gp a c k e t , w h i c hh a sb e e nt r a n s p l a n t e di n t ot h ew i n d o w so p e r a t i n gs y s t e ma n db e c a m et h e w i n p c a pc o t u r i n gp a c k e tw i t ht h ei n c r e a s i n gs o f t w a r e sb a s e do nw i n 3 2 t h ec u r r e n t w i n p c a pp a c k e ti sw i d e l ya p p l i e dt ot h ed i a g n o s i sa n da n a l y s i so f n e t w o r km a l f u n c t i o n , a n da p p l i e dt ot h ed e v e l o p m e n ta n dr e s e a r c hf i e l do fn e t w o r kt e s t i n gt o o l sa n dn e t w o r k p r o t o c o l s t h i sp a p e re m p h a s i z e so nt h er e s e a r c ho fi n t e r f a c ef u n c t i o n sp r o v i d e db y w i n p c a pa n di t sf r i e n d l yt r a n s f e r r i n gm o d es oa st or e a l i z et h es u p p o r t t ot h ec a p t u r i n g p a c k e ts o f t w a r eb o r o md e s i g n e di nt h i st h e s i s ,w h i c hi sa l s ot h eb a s i so fd e v e l o p i n g t h en e t w o r ka n a l y s i ss o f t w a r e t h ef a m o u sa n a l y s i st o o lo fn e t w o r kp r o t o c o l - - w i r e s h a r ki st a k e na st h e d e s i g n i n gp l a t f o r mf o rs t u d y i n ga n dd e s i g n i n gt h en e t w o r kp r o t o c 0 1 t h e r e f o r e ,t h i s t h e s i sm a i n l yd e s c r i b e sh o wt or e a l i z et h et r a n s l a t i n ga n de d i t i n go fw i r e s h a r ks o f t w a r e t o o lb a s e do nt h ew i n 3 2s y s t e m , a n dh o wt om a s t e rt h i sa p p l i c a b l es o r w a r et or e a l i z e t h ef u n c t i o no fc a p t u r i n gp a c k e t so fb o r o mn e t w o r ka n da n a l y z i n gp r o t o c o l sw i t ht h e h e l po fw i n p c a p i na d d i t i o n ,b a s e d0 1 1t h ed e e pa n a l y s i so fw i r e s h a r k 。t h i st h e s i s d i s c u s s e st h em e t h o do fd e v e l o p i n gw i r e s h a r kd e c o d i n gt o o l u n d e rt h ew i n d o w s s y s t e ma n d i t sf r i e n d l ys u p p o r tt ot h et h i r ds o f t w a r ed e v e l o p m e n t i np a r t i c u l a r , i nt h e f i e l do ft h ec u s t o m e r - o r i e n t e da p p l i c a b l ec o m m u n i c a t i o np r o t o c o l s ,w i t ht h ea d v a n t a g e i l a b s t r a c t o ft h el a t e s tw i r e s h a r kw h i c hc a l ls u p p o r tm a n yp r o t o c o l s r e s o l v e sa n dc u s t o m e r s g i v e nd e s i g n s ,t h ec h a r a c t e r i s t i c so fc o m m u n i c a t i o ns o f t w a r e ,i o c pm o d e la st h e r e p r e s e n t a t i v e , i sa n a l y z e d a tt h es a m et i m e t h i st h e s i sa t t e m p t st o r e s e a r c ha n d d e f i n et h ep r o t o c o ln a m e dc h a t p a c kf o rt h ei o c pm o d e ls y s t e m ,a d dn e wp r o t o c o l s a n dr e a l i z es u c hf u n c t i o n sa sd i s s e c t o r t h r o u g he s t a b l i s h i n ga n di m p r o v i n gt h en e w p r o t o c o l s ,t h ef u n d a m e n t a ls t r u c t u r ea n dt h o u g h t sf o rt h ec u r r e n tn e t w o r kd a t aa n a l y s i s , e s p e c i a l l yf o rt h es p e c i f i c a l l y - a p p l i e dp r o t o c o la n a l y s i si nl a n a r ep r o v i d e d k e y w o r d s :p a c k e t ,n e t w o r kp r o t o c o l ,w i n p c a p ,w i r e s h a r k ,p r o t o c o ld i s s e c t o r i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示谢意。 o ) 、 签名:墨;亟 日期:2 0 0 7 年0 月二日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论 文的规定,有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存、汇编学位论文。 ( 保 签名: 此规定) 签渔 日期: 2 0 0 7 年,。月肛日 第一章引言 1 1 课题背景 第一章引言 随着网络技术的高速发展,在计算机网络领域开发的网络应用软件越来越多, 在针对t c p i p 体系为核心的开发也逐渐成为热点,因此在计算机网络中传输的数 据日趋体现出多样性和复杂性。同时网络数据中的某些问题也日益突出,使大量 网络信息的检索变得困难,同时网络信息的安全面临监控问题,以及在网络课程 教学中针对特定软件和协议的开发需要提供实验数据的解析需要等等。 因此发展对网络数据内容的监控过滤技术是企业、单位乃至国家信息安全和 网络数据分析的工作重点之一。但目前,对于网络数据包的过滤和分析还处于发 展节段,其相对于其他技术( 入侵检测、防火墙等) 还较为落后,尤其对于特定 数据包的过滤与获取还没有一个开放的软件可以使用,该原因首先是网络协议众 多,没有一个软件能够单独的满足所有协议数据的处理和分析。 其次,从产生和运用信息的载体来看,各种软件在对性能的不断追求造成软 件架构多采用分布式、内容海量等特性,使得网络内部的数据量伴随着网络连接 数量的增加而日趋复杂。 而且,网络技术的快速发展和应用使得对目前的数据分析所采用的技术手段 也处于一个动态更新的阶段,没有一个固定的数据捕获软件和协议数据包过滤器 能始终满足某种需要。如何有效的建立数据捕获知识库及建立以此相关的过滤软 件是在网络高速传输环境下各级网络应用和管理提出的迫切需要。 综上所述,随着网络应用的丰富,以及企业内部各种特殊网络通讯软件发展 的需要,出现了部门或企业内部所需的c l i e n t s e r v e r 的专用通讯软件,企业或部 门需要使用一个开放的网络数据捕获软件,并利用该软件平台根据特定需要建立 和优化对应协议数据包的分析过滤器,使其可以满足不断增长和变化的网络应用。 本课题针对以上需要,主要应用目前较为流行的w i r e s h a r k 软件技术,通过研究 与设计新的基于该软件嵌套的数据过滤分析器完成特殊数据包的捕获与分析,使 它可以满足应用c l i e n t s e r v e r 架构的模型i o c p ,它是微软公司为管理大量套接 字而开发出的一种复杂模型,主要用于目前针对局域网服务器处理大量的连接请 电子科技大学硕士学位论文 求的较好模型,是开发网络代理、网络服务程序等的理想方法。 该协议分析期望能满足用于监控网络教学所需的实验数据传输,保证对特定 数据包进行的特定捕获与分析。让网络管理者和学习者对在使用的网络上所产生 的特定连接的数据流有一个较为直观的认识。 1 2 课题综述 本课题主要研究在高速网络环境下数据包捕获工具的运行机制研究与优化, 期望通过实现特定数据协议解析的方法并为开发各种网络协议的数据包捕获和解 析提供一种捷径手段。 涉及的内容主要有:研究学习目前主要的数据捕获技术,深入分析w i n p c a p 等 提供底层数据截获的函数特点;分析开源w i r e s h a r k 软件的代码特点以及功能,编 译和优化w i e r s h a r k 源代码,使该软件满足对指定的网络应用软件产生的数据流进行 捕获,研究和实现基于w i r e s h a r k 的分析器( d i s s e c t o r ) 乜1 ,掌握该软件整体架构, 使其满足能监控日益变化的网络应用及其数据流,并能持续的满足网络各特定协 议的数据包分析能力,其基本涵盖了:高速数据流获取、数据报解包、数据分析 及数据还原等。期望该课题能为解决目前面临的网络安全、网络管理、网络教学 等应用提出一个直观的、有效的解决思路。该工具软件的主要特点: 1 、图形化显示监控线路的网络数据的传输情况; 2 、捕获、分析指定的网络数据包; 3 、设计和嵌入特定的基于t c p i p 协议体系的协议分析包: 4 、满足网络协议教学等数据分析要求的数据显示与还原。 1 3 课题的意义和价值 正如前面的分析,目前各行业对网络应用的加强,使得网络信息的分析和管 理尤为突出,社会各行业对网络数据流捕获分析的需求很大,但同时目前的分析 工具种类繁多,具有对当前网络协议的共用性,但同时又难以满足行业和局域网 内部对网络数据包捕获工具的特殊要求。 目前计算机网络数据捕获工具主要来自国外,虽然源代码公开,但其可扩充 性差异很大,而对于不同的部门和网络使用环境,是一个动态的发展过程,不断 有新的网络协议和数据产生,因此对于研究如何在一个有效的便于扩展的网络数 第一章引言 据捕获工具上进行第二次开发和优化设计将是未来的设计重点之一。通过对网络 数据包捕获机制和设计理念的研究,可以认识当前网络发展的特点,开展基于网 络更多的应用,使不同的用户能有效、安全的使用网络。同样数据捕获软件的核 心是过滤分析器( d i s s e c t o r ) ,实现对核心部分的研究和分析将有助于缩短工具软 件的开发周期,制定针对不同网络应用的特征数据包过滤软件;通过分析软件对 动态数据流捕获分析的处理结构,熟悉计算机网络协议体系在各层次的通讯技术 和传输流程,进一步认识网络的通讯技术和数据包处理特点。该技术研究可以用 于后续各方面。 1 3 1针对网络数据安全 目前网络安全的需求已经渗入到各行各业,为了强化来自网络的攻击防范和 对合法数据的保护,目前网络安全和管理的应用重点就是采用防火墙以及数据入 侵检测技术等,而以上技术的核心都是在一定的策略下对数据包过滤技术的研究 与实现。基于网络的检测系统,它们将网络数据包作为数据源,利用各自逻辑独 立的网络连接,分别利用对连接的监视以分析来自网络连接的所有通信业务。所 以研究和优化对数据包的捕获与分析对目前的网络信息安全有着重要的作用。 1 3 2 针对网络数据管理 针对网络软件的开发需要,了解和分析不同数据特征的数据包,以满足网络 管理的不断变化。由于局域网的用户正在不断壮大,局域网体现的高速、节点数 量和局域网的应用不断增加,尤其体现在不同网络服务的连接在网络内部传输中 也逐渐增加,由此带来的有针对性的网络管理的需要和满足对网络内部的数据量 进行有效的监控和管理;同时在防止非法的和具有破坏数据的行为发生的同时, 也可以建立内部通信流的知识库,作为网络管理的依据。 1 3 3 数据包分析的需求 强化对网路协议的理解,尤其是目前计算机网络教学中,针对学生的网络教 学核心一协议分析尤为重要,而利用网络软件进行网络协议分析,将能很好的向 学生展示在网络体系中数据的封装和传输流程,通过数据包捕获软件对字节的分 析,向学生直观的展示数据协议结构和网络工作原理,有利于在实验数据中分析 网络课程知识点,验证及加强计算机网络知识点的理解与应用。 电子科技大学硕士学位论文 1 4 本人所做的工作 作者在本次课题的设计中,主要承担了系统理论研究,方案设计及系统软件 代码编译等大量工作。作者在网络协议的分析中,关注到对数据分析的核心在于 分析器的功能,同时致力于对协议分析器的原理分析和实现,建立了易于实现的 新的数据分析器的软件环境搭建和增加满足特定需要的数据包分析器。从2 0 0 6 年开始,作者针对大量数据协议分析工具及相关文档的研究和学习,深入分析了 不同数据包捕获工具的特点及开发的特点和需求,为选择和订制对软件的二次开 发准备了大量工作。 主要完成的工作如下: 网络协议结构的学习 网络数据包捕获技术及w i n p c a p 的研究 网络数据包捕获工具的系统结构研究与分析 数据包捕获软件基于w i n d o w s 的编译环境分析和实现 研究了微软发布的i o c p 模型在网络服务连接的实现原理 平台软件系统设计架构和开发 1 、w i r e s h a r k 功能及结构分析 2 、w i r e s h a r k 源代码各模块分析,确定开发文档 3 、搭建基于w i n d o w s 的软件开发环境 4 、调试、编译w i r e s h a r k 源代码生成可执行文件 5 、根据开发文档嵌入指定的i o c p 模型数据过滤分析器。 1 5 章节安排 根据本课题的研究目标,本文主要分为6 章节,结构安排如下: 第一章综合介绍了关于本课题的相关背景和研发的情况。 第二章介绍了课题涉及的技术背景和一些基本概念,以便后续的深入研究。 第三章深入研究了捕获技术的实现方法和相关的支撑技术,并剖析了目前流 行的数据捕获技术现状,为进一步的研究和实现功能建立理论基础。 第四章分析和研究了w i r e s h a r k 的系统结构和源代码特点,并实现了在 w i n d o w s 下搭建设计环境以及实现源代码正确编译。 第五章通过分析i o c p 模型的服务器通讯软件的结构特点,详细叙述了在 4 第一章引言 w i r e s h a r k 软件平台进行数据过滤分析器的开发设计思路和添加数据包分析器的 具体实施过程与方法。 第六章对本课题所涉及到的相关理论和研究的内容与技术进行了简单的总 结,以此为基础提出了后续可能的研究方向。 最后为致谢与参考文献 电子科技大学硕士学位论文 第二章数据包捕获技术概述 2 1网络数据分析技术概述 网络数据包作为网络数据传输的主要载体,其内容最直接的反映了当前网络 的运行方式和数据传输情况。能有效地捕获和分析网络数据包,是所有网络监管 的主要核心。因此网络数据包截获技术是网络数据分析软件的基础,完整准确地 捕获到所需的数据包是网络数据分析的前提条件。目前数据包捕获技术己成为全 球流行的网络技术研发热点。 2 1 1 数据包捕获技术的产生 数据包捕获技术最先来自于网络管理者对网络数据分析的需求,在局域网中 多采用以太网方式的共享信道使用技术,在共享信道进行监控是较容易实现和适 合研究的平台技术,尤其对于网络管理来讲,监控公共信道的数据传输能很好的 保证数据安全以及局域网的节点计算机管理;同时开发网络数据分析应用程序的 重点就是采用捕获技术,进行数据采样。 最早出现的网络数据包捕获软件是基于l i n u x 平台研发的【3 】,发展至今已经 形成了十余种较著名的跨多平台的数据包捕获软件如s n o r t 、w i n d u m p 、w i r e s h a r k 等等。 由于网络数据分析就是直接从数据传输流中获取数据,然后检查确定在网络 中正在发生的通信状况,网络分析软件通常要求利用数据分析器、解码器以及网 络上定义的协议数据包等进行分析,再以用户可读的方式进行显示。由于以上特 点网络分析软件通常也被称为:数据流分析、协议分析、数据捕获( 嗅探) 等等, 在发展至今,它同时也存在被恶意用户使用而带来的消极影响等问题。 网络数据捕获软件要求采用特定的软件和独立的硬件设备完成,或者在服务 器上利用软件进行模拟,数据包捕获软件可以免费或商业购买,其中最大的区别 就在于本文研究的数据包协议分析引擎、图形化、数据统计等效果。由于网络 分析软件的特点,目前的数据包捕获软件同样依赖于硬件和软件,尽管在不同的 软件中它们有着不同的差异性,但网络捕获工具通常满足下面几个基本组成部分。 6 第二章数据包捕获技术概述 2 1 2 捕获技术的基本组成 硬件大多数的网络数据分析工具都以软件为基础,再借助于标准的 操作系统和网络接口适配卡( n i c ) 。此外还有一些硬件类的网络数据分 析工具提供了额外的一些功能:比如数据的c r c 检验,电源问题、线缆 问题、硬件稳定性、数据的转发等等。一些网络数据分析工具仅支持以 太网或无线网卡,还有一些支持多网卡或者允许用户对网络适配器进行 特定设置以满足统计捕获不同的数据包,除了这些硬件外,还与我们链 接的集线器或交换机有关系,可以通过线缆连接到网络信道上的交换网 络设备进行操作。 捕获驱动这是网络数据分析的一个重要部分,它主要用于对在网络信 道上世纪捕获到的原始数据做出处理。它的功能还包括用于过滤出用户 想要的数据等,并将它们放入工具软件指定的缓存中。所以它是数据捕 获设计的核心,没有这个组件,将无法实现本文所提到的研究与设计。 缓存该部分主要被定义用来存储网络数据,该区域将被数据填充直 到缓存填满,有些捕获软件采用环行队列方式,最新的将有可能替代前 面的数据;根据工具软件大小,一般该缓存被定义在硬盘或内存中。 实时分析大多数工具软件都要求当数据到来时应该具备该特征,以实现 对网络运行状况的实时监控,网络入侵检测系统就需要依赖该特点来发 现和处理网络入侵行为。 数据检测该功能整体上被设计为主要用于以可读的方式显示捕获的数 据流内容,因此该部分要求支持每个协议,所以在目前的应用中,变化 和需求最大的就是根据网络所依托的不同协议,要在网络数据分析软件 中增加大量的协议分析解码器设计。 2 2 数据捕获软件的发展简介 1 9 8 7 年,m o g u l 、r a s h i d 和a c c e t a 实现了一个用户空间的包过滤器c s p f 。包 过滤器就像一个可以返回布尔值的函数,根据一些预定的规则对网络上的数据包 进行判断。19 9 2 年l a w r e n c eb e r k e l e yl a b 的s t e v e nm c c a n n e 和v a nj a c o b s o n 提出了 包过滤器的一种新的实现:b p f ( b s dp a c k e tf i l t e r ) 【5 1 。b p f 的特点在于它是基于寄 存器的包过滤器实现,因此可以更高效地运行在基于寄存器的r i s c 机器上,这种 电子科技大学硕士学位论文 快速匹配的模型已经通过硬件封装的形式在现在的路由器中得到应用。后来出现 了基于b p f 的很多改进。但是这些包过滤器一般代码比较小,功能上十分有限,无 法为上层数据报文分析提供支州酬。 后来微软和3 c o m 公司在1 9 8 9 年制定了一套开发w i n d o w s 平台网络驱动程序的 标准n d i s ( n e t w o r kd r i v e ri n t e r f a c es p e c i f i c a t i o n ) 。n d i s 为网络驱动的开发提供了一 套标准的接口,使得网络驱动程序的跨平台性更好。 在具体实现数据包捕获系统时后来出现- l i b p c a p 开发包及其w i n d o w s 版本 w i n p c a p ,该包支持基于b p f 的数据过滤机制。w i n p c a p 实质上是一个系统独立的 a p i 函数接口,用于用户层次的数据包截获工作。它在底层依赖于n d i s 网络监控 编程的应用框架,这些底层的网络应用包括数据收集,安全监控和网络调试等。 2 3 常用数据包捕获软件简介 网络数据捕获系统发展到今天,出现了许多的代表性工具,除了少数商业软 件外几乎都可以通过网络获得,主要有: w i r e s h a r k :这是我们本文研究的重点,该工具基本上是目前 可以获得源码的较完整、性能较好的软件,它完全可以等同于商业软件 的功效。它具有许多优秀的功能:比如:友好的图形化用户界面( g u i ) , 有超过4 0 0 个协议的解码器,而且获得了良好的维护和升级。该工具软 件目前能在u n i x 系统平台和w i n d o w s 平台上使用,对于使用和设计来 讲都是目前的研究重点 w i n d u m p :它是t c p d u m p 在w i n d o w s 系统的版本,该软件可以从 h t t p :w i n d u m p p o l i t o i t站下载。该工具也是主要使用w i n p c a p 的库函 数作为基础,它可以运行在w i n d o w s 9 8 m e n 1 2 0 0 0 ) o 等系统上。 n e t w o r k a s s o c i a t e ss n i f f e r :是专门用于商业性质的数据包捕获软件,主 要用于网络保护系统的商业销售, 得它的完整版。 在n a i 公司网站竖迅塾堑:鱼q 堡上能获 w i n d o w s 2 0 0 0 n ts e r v e rn e t w o r km o n i t o r :它是安装在w i n d o w s 2 0 0 0 和n t 服务器版本上的正在设计的网络分析软件,位于系统管理员工具 文件夹中,但它不属性默认安装,需要系统光盘载入。 t c p d u m p :这是一个最早的也是较常用的数据捕获软件,信息和计算机 科学部门的网络研发小组在贝克立国家实验室研制出的t c p d u m p ,它采用 第二章数据包捕获技术概述 的是u n i x 平台,使用命令行的用户界面。可以在w w w t c p d u m p c o m 一获 得其最新版本 s n o o p :命令行方式的数据捕获软件,主要是针对s u n 的操作系统,尤其 适用于捕获根据s u n 定义的协议结构而传输的数据包。 s n o r t :它是利用数据捕获方式进行的入侵检测系统,由其s n o r t 站点对 其进行更新,它要监听网络中的所有数据包,如果系统不能及时处理数 据包,s n o r t 性能将会下降,基于s n o r t 的系统一般运行在l i n u x 上面, 它的数据捕获依靠l i b p c a p 和l i n u x 操作内核来完成。 2 4 相关基本概念 前面介绍了目前较常见的数据捕获软件,他们最早用于对以太网进行数据包 捕获,该网络的最大的环境特点就是网络通信数据便于获取,软件系统所依赖的 以太网运行环境主要特点如下。 2 4 1 数据包捕获环境一以太网介绍 以太网协议是最常见的用于多台计算机进行通信的网络协议,制定的以太网 协议标准就是用于在一条公共信道上的物理网络,管理多台计算传输机数据时共 享该通信信道。通常被定义为广播协议,因为当有计算机在发送信息时,一般会 将该信息发送给该物理网上的所有计算机,此时该信息将会被协议分为几块即数 据包的形式用于传输控制,每个数据包都有个头部字段,该字段像信封一样包含 了通信双方主机的源和目标地址,虽然此类数据包会发送到所有计算机,但只有 地址匹配的计算机才会接受和响应。但同一个物理网段的用户都会看见该数据包, 但是如果没有类似捕获这样的需求,计算机会丢弃或忽略该数据包。当我们在这 种条件下设置数据包捕获需求时,数据捕获系统将通过我们设置的捕获驱动将计 算机网卡设为混杂模式口1 ,这样使网卡能够监控来自网络信道的所有数据流,而 无论其是否属于自己的数据包。而通常的计算机没有工作在混杂模式,只是对发 送给自己的数据包做出反应。因此混杂模式将允许网卡发现邻居计算机的数据包。 以太网所使用的地址就是物理网络中使用的物理地址媒介访问地址m a c , 这是由于在共享信道上,个数据包会被更多的计算机访问,所以为了进行区别, 在每个网卡上都设定了硬件地址,硬件地址由4 8 位构成,其中2 4 位由以太网设 计者确定,其余的2 4 位由网卡生产厂商确定,以保证任何两张网卡的地址是不同 9 电子科技大学硕士学位论文 的。 2 4 2 捕获技术模型研究 数据包捕获模型定义为在当前网络环境下捕获系统的的工作方式,以及在本 地协议栈里如何进行数据流打包和解包的工作流程。本文的网络数据包捕获系统 从中来分析其工作的模型嘲( 如图2 1 所示) 。 物理介质 图2 1 数据包捕获模型 1 数据包捕获协议驱动在该结构中属于较低的软件部分,它是工作在内核中, 直接和网络适配卡进行数据包交互的一个重要部分,它为应用软件提供了大量从 数据链路层读、写数据的功能。 2 动态链接库则工作在用户层,但它独立于用户的数据捕获系统软件。其中 的动态链接文件提供了独立于系统的捕获接口。它允许许多w i n d o w s 的捕获系统 软件不用重新编译也能直接使用该链接库。 根据该模型数据包捕获软件具有以下基本功能和目的需要: 能显示星型和总线型等本地网络的拓扑结构; 可用于研究数据包在本地网络是如何传输的; 研究设置网络接口所采用的混杂等模式; 研究数据包捕获的内容和如何进行捕获的: 实现数据在协议栈上的解包和打包的过程 通常,网络捕获程序为了实现其目的,需要获得在网络中传输的数据,在网 络运行过程中对其进行捕获。这些捕获程序要独立于数据的发送端和接收端,主 要由监听正在传输的每一个帧和捕获过程组成。 l o 第二章数据包捕获技术概述 3 为了获得网络数据,网络应用程序需要能直接同网络硬件进行信息传递。 通常,需要对网络端口( n i c ) 进行直接控制,如利用网卡获取网络数据与网卡 的工作模式,网卡工作模式主要有四种方式嘲: 广播方式能接受所有的广播类型的数据包 。组播方式能接受同组成员的组播数据包 。直接方式仅接受符合目标网卡地址的数据包 混杂模式对所有经过的数据都进行接收 软件系统对网卡设置的模式仅仅针对经过网卡所在物理网段的数据有效,工 作站所在局域网若采用以太网方式组网,对共享信道方式的网络主机能监听该网 段的所有数据,并在此基础上来选择不同的工作模式,但若网络中采用了交换性 质的组网技术,则任意两个端口之间的数据传输并不一定传输到其他端口,只有 广播和组播数据流才会发送到所有端口。在这种环境下监控物理网络中所有的端 口则可能会失败。 根据该模型的核心部分捕获系统处理模型n 们概述如下图2 - 2 所示: 开始 上 i 初始化及设置网卡 上 开始监听 数据包捕获 上 数据包拆分 上 否 一是否满足过滤规则 口 1 r 一 一 ,1r 显示数据包丢弃数据包 上 保存数据包 i j f停止监听 l 电子科技大学硕士学位论文 系统框架中:能实现捕获局域网内几乎所有数据包,并对数据包进行拆分并 且以不同方式的显示数据内容。实现对于捕获的数据包的端口、协议类型以及对 应的协议数据包进行过滤。捕获模型系统主要是其中的4 个模块:数据包捕获模块、 数据包分析模块、数据包过滤模块和数据包显示模块。 2 4 2 1 数据包捕获模块 此模块主要完成对原始数据包的捕获工作。由于工作在普通模式下的网卡只 能接收发往本地地址的数据包,其余数据包将简单的转发,并不把数据提交给主 机处理。工作在混杂模式下的网卡将接收所有经过本网卡的数据。由于网络监听 只能在混杂模式,所以此处的状态设为混杂模式。 该模块要首先获得所在计算机系统的版本号等相关信息,然后通过获取的硬 件信息,对网卡进行操作;通过选择和指定可能存在的多个网卡以及设置其工作 模式。如果采用的是套接字方式,需要通过s e t s o c k o p t ( ) 函数来设置i p 头操作选项, 然后再通过b i n d ( ) 函数将原始套接字绑定到本地网卡。为了让原始套接字能接受所 有的数据,再通过i o c t l s o c k e t 0 来进行设置:然后读取用户设定的数据包捕获规则, 以及定位到准备接收数据包的缓存。至此就可以开始对网络数据包进行监听了, 对数据包的获取仍象数据流式套接字或数据报套接字一样进行持续性嗅探完成。 2 4 2 2 数据包分析模块 该模块定义的功能用于解决:由于面向连接的和非连接的2 种套接字不同的方 式,此时捕获到的数据包并不仅仅是单纯的数据信息,而是包含有口头、t c p 头等 信息头的最原始的数据信息,这些信息保留了它在网络传输时的原貌。通过对这 些在低层传输的原始信息的分析可以得到有关网络的一些信息。由于这些数据经 过了网络层和传输层的打包,因此需要根据其附加的帧头对数据包进行拆分,进 而对其进行分析。在拆分原始数据包的时候需要注意的一个问题是:网络地址和 主机地址的转换1 。由于获得的是最原始的数据信息,其存储格式是以网络地址 存放的,由于不同的地址格式只是在高位和低位存储的顺序不同,因此只需要对 在内存中占用1 6 b i t 或者3 2 b i t 的数据需要进行网络地址转换。 这里的“字节顺序问题是指:网络和主机采用的存储字节时,内存顺序存 储方式的差异,在网络环境存储时,把高位字节存放在内存的起始位置,而把低 位字节存放在地址的较高位置;主机形式的安排顺序则刚好相反。如下图所示( 将 数值为0 x 0 3 0 4 存放于内存中,其示意如下) : 1 2 第二章数据包捕获技术概述 0 x 0 30 x 0 4 地址0l 图2 - 3 网络形式存储字节 0 x 0 4o x 0 3 地址ol 图2 - 4 主机形式存储字节 在数据捕获系统中,只要对u n s i g n e ds h o r t 和u n s i g n e di n t 的数据进行网络地址转 化即可。部分系统较重要的是数据类型的强制转换。首先将原始数据包的缓冲区 强制转换了口h e a d e r 结构,获得了口头中的各个字段,然后根据得到的口头中的协 议类型信息,判断接下来的缓冲区部分是转换成t c p h e a d e r 结构还是u d p h e a d e r 结构;根据头长度信息来获得接下来要转换的缓冲区的首地址,也就是原始数据 包的首地址加上i p 头长度。 2 4 2 3 数据包过滤模块 数据包过滤模块主要负责过滤不符合过滤规则的数据包,这里说的过滤其实 是指将数据包跳过,不进行显示和保存。主要原因是本系统所捕获的数据包主要 是对数据包进行监听,对于真正意义上的过滤需要编写更为底层的数据包捕获程 序。数据包过滤模块的主要流程如图2 - 5 所示。 i 捕获驱动r + 捕获缓存f i l t e r 规则 - 1 用户缓存 图2 5 过滤模块流程 2 4 2 4 数据包保存模块 对于符合过滤规则的数据包,接下来的工作就是需要保存起来。对于保存数 据包的工作可以使用链表、队列等方式保存,也可以将其写到文件中保存起来, 对于不同捕获方式和处理效率,尤其是入侵检测,对存储采用了不同的方式和容 量大小以达到快速读取数据的效果。 2 4 2 5 数据包显示模块 根据上述几个模块的功能,然后将处理结果用于以人机交互的方式显示模块 部分的数据包内容。数据首先只是在列表框中显示,用户可以在列表框中对自己 电子科技大学硕士学位论文 感兴趣的数据包的那一列进行更详细的了解。经过这个点击消息的触发后,树型 视图和编辑框视图分别从不同的角度对数据包的内容进行了更为详细的显示。 列表框视图和树型视图中显示的数据内容方法基本相同,都是对原始数据包 拆分的各个数据字段的显示,只是显示的数据内容的精确程度不一样。而对于编 辑视图中数据包的显示,主要分成2 部分进行,一部分是以十六进制的形式显示, 而另一部分则是以字符形式来显示。对于字符显示的时候,由于有的数据是不可 显示的字符,对于这样的字符,系统使用“ 来替代,可显字符这里指的是a s c i i 码在3 2 - - 2 5 5 之间的字符。对于w i n d o w s 平台编译、设计的大多数捕获系统都采用 g t k + 库来设计图形化界面n 刳。 2 5 数据包捕获软件的基本结构和功能 2 5 1 数据包捕获系统工作流程 数据包的捕获方式很多。它是针对o s i 模型2 7 层设计的,能够在2 7 层上 进行解码,解释4 5 0 多种网络协议,采用剥洋葱方式,从低层开始,一直到第七 层,甚至对o r a c l e 数据库、s y b a s e 数据库都可以进行协议分析。协议分析 等软件有硬件和软件相结合的专门产品,也有纯软件产品。协议分析主要功能如 下: ( 1 ) 分析从专门的硬件分析仪中捕捉的数据包,具有完整的七层包捕捉、过滤和解 码能力。 ( 2 ) 实时监测网络利用率和误码率、帧大小分布、协议分布、最多发送者接收者、 对话矩阵、v l a n 流量分析、应用程序响应时间分析等。 ( 3 ) 智能专家故障分析、诊断功能在监测实时流量时自动发现错误、快速指出问题 所在并给出修改建议。 ( 4 ) 支持本地和远程网络分析。 ( 5 ) 支持特殊的协议:e x t r e m ee d p 、e s r p 以及c i s c oc d p 和v t p 等。 ( 6 ) 停止并保存捕捉会话、发送一个s n m p 陷阱、发送e m a i l 或寻呼通知等。 ( 7 ) 在日志文件中保存告警消息、启动一个应用程序和过滤等。 ( 8 ) 协议分析上的功能延展就是加入网管功能、自动网络信息搜集功能等。 进行协议分析是一种复杂的测试系统。它要求操作人员具有较高的技术水平, 否则无法有效使用。它能检测很多复杂的网络故障,如:服务器响应慢,t c p i p 1 4 第二章数据包捕获技术概述 帧校验系列错误,t c p i p 快速复传,t c p i p 窗口冻结,t c p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 2436-2026示波器校准仪校准规范
- T/SDSES 014-2023水泥窑协同处置垃圾焚烧飞灰技术规范
- T/LXLY 38-2025牙骨质撕裂临床诊疗规程
- T/CDEIIEA 9-2024成渝地区电子信息先进制造集群公共服务平台 网络平台功能规范
- T/CFEII 0015.3-2023内容安全检测人工智能系统鲁棒性测评规范 第3部分:文本
- T/CSPSTC 207-2026抽水蓄能电站建筑装饰装修技术导则
- GB/T 7424.2219-2026光缆第2-219部分:总规范光缆基本试验方法环境性能试验方法方法F19材料相容性
- 2025~2026学年贵州省遵义市播州区人教版六年级上册第三次月考数学试卷【附答案】
- 河北滦平县2027届九上数学期末考试试题含解析
- PHP程序员面试题及详细答案(真实企业版)
- 2026年注册(营养师、营养指导员)资格证必过考试题库与答案
- 常见肿瘤急症及并发症的护理课件
- 2026年软件工程开发工程师试题及答案
- 2025年10月自考02126应用文写作试卷及答案
- 2026年监理员考试题库及答案
- 航道、通航建筑物及航运枢纽大坝运行安全风险辨识评估管控指南(试行)
- 2026年屠宰兽医卫生检验员考试题库(含考点)
- 2026中国资源循环集团有色金属投资有限公司社会招聘2人笔试历年典型考点题库附带答案详解
- 2025年国企董事会办公室工作人员考试题及答案
- 渗固磨耗层技术在高速公路养护中的应用:实践、效益与展望
- pdf日语专业毕业论文写作指导
评论
0/150
提交评论