已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Ethereal是什么?它是一个图形用户接口(GUI)的网络嗅探器,能够完成与TCPDUMP相同的功能,用来捕获网络数据;但其有TCPDUMP无法相比的友好界面;而且其支持的协议之广和全也是别的嗅探器没有办法相提并论的。那么你可以试着阅读本文,让此文给我们07年岗前实训带来方便!1. 简单介绍Ethereal是一个图形用户接口(GUI)的网络嗅探器,能够完成与TCPDUMP相同的功能,但操作界面要比TCPDUMP友好的多。Ethereal和TCPDUMP都依赖于pcap库(libcap),因此两者在许多方面非常相似(有相同的数据抓取过滤条件和关键字)。同时Ethereal有与其他图形化网络嗅探器相同的界面模式,实际上如果你能够熟练地使用Ethereal,那么你也同样可以使用其他用户界面的网络嗅探器。Ethereal也是一个跨平台的开源项目,支持Windows和Linux平台。Ethereal起初由Gerald Combs开发,随后由一个松散的Ethereal团队组织进行维护开发。它目前所提供的强大协议分析功能完全可以同商业的网络协议分析系统媲美,从1998年发布最早的0.2版本至今,大量的志愿者为Ethereal添加新的协议解析器,如今Ethereal已经支持500多种协议解析。很难想象如此多的人开发的代码是如何很好的融入系统中的;实际上在Ethereal中添加一个新的协议解析器非常简单,笔者曾经就在很短的时间内向Ethereal添加一个协议解析器;其实系统为添加协议解析器留出了接口,而在面向程序员的开发文档中对如何添加协议解析器有很好的说明;其实网络协议种类繁多,随着时间推移,各种新的协议层出不穷,如果不是设计良好的系统,也不可能适应不断发展的网络协议。一句话,Ethereal是一个结构设计良好的系统。那么可以利用Ethereal来做什么呢?实际上Ethereal可以用来捕获网络的数据包,然后利用其对现有协议的分析能力来帮助工作。2. 安装Ethereal正如前面所说Ethereal是一个开源的项目,可以从下载,你不但可以从这里下载到可执行程序,也可以下载到源程序。当前最新版本是0.99.0版。不过正如我们前面说过的,Ethereal是建立在libcap基础之上,所以在安装Ethereal之前请先安装一个libcap的库,可以从/下载。Ethereal比较具有吸引力的地方是可以通过阅读其协议分析器的源代码来了解一些不容易得到的协议的详细情况;当然这是比较费力的途径,如果能够得到协议的文档说明还是不要走这条路。3. 使用Ethereal来捕获数据包下面以Windows平台上的Ethereal 0.99.0版本介绍一下如何使用Ethereal。3.1. 捕获数据初级篇启动Ethereal之后选择Capture菜单,然后选择子菜单Start就可以开始捕获数据包了。图1:Ethereal开始界面一旦启动捕获程序以后,Ethereal界面最前面显示一个窗口,这个窗口用来显示各种协议捕获到的数据包数量,以及已经运行的时间。图2显示这个对话框:图2:Ethereal捕获对话框3.2. 网络数据的分析如果你想停止捕获数据包,只需要单击Stop按钮即可。在停止捕获数据包以后,Ethereal将捕获到的数据包进行分析,然后以图形的形式展现在用户面前;如图3所示:图3:Ethereal网络数据包显示窗口图3主要包括3部分,分别是:1 协议数据包窗口;该窗口中概要的显示数据包捕获的时间,源和目的IP地址,以及使用协议的概况。2 协议树窗口;该窗口以树形结构显示捕获到的数据包,实际上当在协议数据包窗口中选择一个数据包的时候,该窗口显示的就是该数据包的结构;树的形状按照网络协议的层次从上到下排列。3 16进制数据包窗口;该窗口以16进制的形式显示协议数窗口中对应的数据包。注意,窗口的整体布局(1、2、3窗口的位置)可以通过菜单:Edit-Preferences来设置。下面具体介绍上面3个窗口的功能。3.2.1. 协议数据包窗口. 格式捕获的数据包默认按照时间的顺序全部显示在该窗口中,窗口的选项从左到右分别是:包序号、时间(单位为秒)、数据包源的IP地址、数据包目标的IP地址、协议类型、包信息概述。下面是一个HTTP数据包的例子:包号是20;当前包到达时间距离第一个包是59.886024秒;包的源IP地址是67;包的目的地址是64,由于是HTTP协议(基于TCP),所以有一个地址应该是本地计算机地址,该目的地址就是本地机器地址。协议类型为HTTP协议,也就是TCP端口号为80,Ethereal对支持的协议都会在这里以协议的名称显示出来,否则这里显示TCP端口号或UDP端口号,当然对于非TCP和UDP的另当别论。最后的信息一栏对于TCP和UDP数据包显示数据包从端口到端口,如果有TCP和UDP标志,也会显示在该栏中;对于TCP会显示其他的参数,如窗口、ACK序号等。下面是另外一个例子。. 颜色选项Ethereal对于不同的协议可设置不同的颜色,从而方便用户观察任何异常的数据包,设置颜色选项通过菜单View-Coloring Rules来设置。选择该菜单以后,出现颜色设置对话框,如下所示:图4,协议颜色选项系统提供了默认的协议颜色设置,对于某些铭感的协议标志采用红色或黑色来表示。例如:Bad TCP标志。. 浏览TCP数据流的内容Ethereal提供了一个选项,可以用来浏览一个TCP连接上的数据,这些数据以ASCII码等形式显示;可以在协议数据包窗口中选择一个TCP数据包,然后选择右键菜单:Follow TCP Stream,然后出现如图5所示的窗口:图5,浏览TCP数据流Ethereal提供了4种形式来显示数据;如果选择ASCII码,对于明码传递的文本数据都可以在这里查看到,例子中的是一个HTTP协议的TCP流(HTTP是使用80端口的一种TCP协议)。注意,你可能通过该方式一不小心浏览别人明码方式传递的帐户和口令信息哦。3.2.2. 协议树窗口当在协议数据包窗口中选择一个数据包的时候,该数据包的协议树就在协议树窗口中被创建。下图是一个TCP数据包的协议树窗口:图6,协议树窗口上面是一个HTTP协议的数据包窗口。协议树窗口显示的协议层次与网络协议的层次对应;下表是上面这个例子的对应关系:树节点名称对应的协议层次说明Frame帧Ethernet II数据链路层以太网协议Internet Protocol网络层IP协议Transmission Control Protocol传输层TCP协议HTTP Protocol应用层HTTP协议每个树节点下的都是该数据包在该层的具体参数和数据。要了解每个树节点的含义需要熟读TCP/IP协议族。这里需要记住一点,从应用层到最底层,通过逐渐添加数据包头来完成的,在数据链路层有一个尾部。这里仅仅举两个三个例子:IP协议节点、TCP协议节点、HTTP协议节点。注意:帧这层没有对应的网络层,实际上该层是Ethereal为了管理自己建立的,其中的帧序号通常是显示过滤条件的重要参数。. IP协议节点图7,IP协议节点上面节点说明如下:树节点名称说明VersionIP版本,IPV4Header Length20个字节的IP头,没有其他选项Total Length该IP包携带的670字节Flags不分片标志被设置,该IP在通过各种类型网络时候不分片传输;如果该网络的最大数据包小于该IP包的长度,数据包将不能传输。Time to liveTTL值为64,最多数据传输64个节点就被抛弃Protocol上面的协议数据包是TCP协议的Header Checksum头的检验和,通过该字段可以知道数据是否有错误Source, Destination数据包的网络层源和目标地址. TCP协议节点图8,TCP协议节点上面节点说明如下:树节点名称说明Source port源端口,传输层的源地址Destination port目的端口,传输层的目的地址Sequence number当前包所载有效数据的起始序号,在一个连接中从开始记数;以字节记数。Next sequence number下一个包的序号,是起始需要加包的有效数据长度的和Acknowledgement number是源用来确认目标在该连接上的到该序号的数据都已经收到。Header length头的长度FlagsTCP标志,上面的例子中表示该包是一个PUSH标志和ACK标志,ACK标志几乎每个包都有(握手和终止的时候可能没有);PUSH标志用来告诉目标尽快将数据提交给应用程序。一般意义上PUSH标志用于一个应用层包的结束。例如:通过SOCKET的SEND来发送4K的数据,对于TCP来说需要分解成多个TCP包,只有在最后一个TCP包传送的时候才设置该标志,用来告诉对方4K数据已经发送完毕,对方的TCP可以将数据返回给其RECV了。这个标志以前可以自己设置,现在一般实现为自动设置。Windows size告诉对方TCP窗口的数据大小;对方还可以发送多少数据Checksum检验和Options选项字段,特殊的TCP用途。. 应用层协议节点图9,应用层协议节点上面的例子是一个HTTP协议数据包;通常这层节点是应用层数据;例如:WEBEX的TP/ARM协议,SSL协议等。具体协议参数的含义取决于不同的一些类型。现在的大部分新增的协议都是在这一层之上的,例如:腾讯公司的QQ协议,微软MSN协议等;对于这些来说,他们一般使用一个固定的端口,而Ethereal解析这些协议也正是基于这些端口。作者本人当写添加的协议就是在该层。如果你想为自己公司的协议添加一个协议解析器,你可以工作在这一层;后面我们将介绍如何添加协议解析器。3.2.3. 16进制数据包窗口16进制数据包窗口将数据包的所有内容以16进制的形式显示出来,如下图所示:图10,16进制数据包窗口该窗口包括3部分,分别是:1. 16进制的序号,字节为单位2. 16进制的数据内容;16个字节一行3. ASCII码数据内容用户可以通过直接观察数据包的内容来检查数据。16进制数据包窗口和协议树窗口联合在一起用来完整的表示一个数据包;在协议树上选择一个节点会对应到16进制数据包窗口,当然这个协议应该是被解析的。下面就是一个例子:图11,协议树和16进制窗口的对应关系图中显示TCP的窗口大小对应的实际值。提示,如果数据以明码的形式传输,我们可以在3会观察到数据的具体内容。3.3. 数据捕获高级篇为了更精确的捕获数据,Ethereal提供了捕获数据的过滤条件,可以通过设置过滤条件将不需要的数据过滤掉。Ethereal使用pcap (libpcap /winpcap)的过滤语言作为过滤条件。在站点上对该过滤条件有详细的解释;如果对过滤条件有特殊的需要请到这里查找。下面介绍几种常有的数据过滤条件。3.3.1. 如何设置过滤条件在3.1节简单介绍如何捕获数据,实际上那里没有设置任何过滤条件,所以所有流过你网卡的数据都会被捕获。Ethereal提供了两种方式来开始捕获数据:一种是前面已经介绍的;另一种是通过菜单Capture-Interfaces来启动。一旦选择该菜单,就出现一个对话框,如下图:图12,Capture Interfaces这里的Interfaces对应机器上的网卡,如果有多块网卡对于Ethereal来说就是多个Interfaces,对于用户来说,需要指定具体捕获那块网卡的数据。在我的计算机中其实只有一块网卡,也就是D-LINK;这个对话框也概要地显示流过该网卡包数量和流速。一旦确定捕获那块网卡上的数据,选择对应的Capture按钮就可以开始捕获了,这个时候会出现如图2的对话框。当然如果需要进一步设置过滤条件,可以通过上图中Capture旁边的Prepare这个Button来激活,菜单:Capture-Options也提供了这个功能。激活后就出现下面的过滤条件设置对话框:图13,过滤条件设置在这个对话框中也提供了网卡选择的选项。下面具体介绍过滤条件每部分的含义。这里将过滤条件分成了主要的6部分,其他部分这里不介绍,如图13所示。1. Interface,用于选择网卡2. 用来捕获数据的缓冲区;如果注意到有包被丢失,可以将其增大;默认是1MB。3. 过滤条件;在3.3.2节详细介绍。4. 捕获模式;一般情况下,网卡只捕获到其本身网络地址的数据,其他都丢弃;但如果想捕获所有网卡能够看到的数据,必须选择这个选项。这里需要注意的是,在交换式网络环境中,很难捕获到目标或源不是Ethereal所在机器的网络数据包(广播包目的是网络中的所有计算机),这是由交换式网络环境决定,因为数据传输过程不需要在目标和源之间直接建立的链路上传输的,也就是数据根本不会到达无关的计算机网卡上;如果你的计算机连接到一个交换机上,那么它肯定是这样的;如果你的计算机连接到一个HUB上,是由HUB的类型决定,交换式的就不会;但如果不是交换式的,它传输数据的方式是广播,这种情况下无关的计算机可以捕获到数据包。更多信息可以参考帮助文档的FAQ5.1。5. 限制每个被捕获包的大小6. 设置Ethereal在满足什么样的条件下自动停止捕获;可以是时间、包的数量、包的字节数等。7. 设置捕获数据的存储方式;可以是单个文件,也可以是多分文件。3.3.2. 常用的过滤条件对于过滤条件,这里介绍几个常用的简单例子。1 捕获到或来自指定以太网地址的数据包ether host 08:00:08:15:ca:fe(以太网地址)2 捕获所有来自或去向指定IP地址的数据host 0(IP地址)3 捕获指定协议指定端口的数据包Tcp(协议关键字,小写) port(关键字) 5150(端口)捕获所有TCP协议,使用5150端口的数据4 条件的合并;条件可以通过关键字and和or来联合,例如捕获指定IP地址的指定协议和端口的数据包Host 0 and tcp port 51503.4. 显示数据过滤在数据捕获以后,如果没有过滤条件,所有的数据都出现在协议数据包窗口中;Ethereal考虑的很周到,为挑选数据节省时间其使用了显示过滤条件。这里值得一提的是,这个过滤条件不同于捕获过滤条件,这些条件是由Ethereal自己定义的。3.4.1. 设置显示过滤条件在Ethereal主界面协议数据包窗口的上面有一个TOOLBAR就是用来设置过滤条件的,如图:图14,显示过滤条件BAR设置方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 26年腭癌靶向实操指引
- 心脏性猝死风险规范化评估与临床全程防控业务学习
- 2026北师大版小学六年级下册英语期末核心知识点总结 单词句型专项
- 网络安全应急演练方案(企业版)
- 民营医院组织架构及岗位职责说明
- 民营医院医疗行为规范自查自纠整改落实报告
- 安全隐患排查治理台账管理规范
- 奶茶店装修工程设计变更情况说明
- 反贪处长竞职竞聘演讲稿
- 公司新员工个人转正总结
- 住宅烟道系统技术标准
- 职业访谈记录
- GB 16897-2022制动软管的结构、性能要求及试验方法
- 德尔格压缩空气质量检测仪检测管使用说明书汇总
- 自动空中三角测量课件
- 毛细管气相色谱法现代仪器分析
- 财政税收体制改革课件
- 红色卡通风期中考表彰大会PPT模板
- 2021高考语文试卷新高考1卷(真题)
- 蒲松龄和《聊斋志异》课件
- 外科学课件-运动系统慢性损伤
评论
0/150
提交评论