使用Ethereal分析数据包69页PPT
- 格式:ppt
- 大小:6.95 MB
- 文档页数:69
用Ethereal分析协议数据包本文由CSNA()网站chuxiangshuai整理。
Ethereal是一个图形用户接口(GUI)的网络嗅探器,能够完成与Tcpdump相同的功能,但操作界面要友好很多。
Ehtereal和Tcpdump都依赖于pcap库(libpcap),因此两者在许多方面非常相似(如都使用相同的过滤规则和关键字)。
Ethereal和其它图形化的网络嗅探器都使用相同的界面模式,如果能熟练地使用Ethereal,那么其它图形用户界面的嗅探器基本都可以操作。
Ethereal的安装在网站上可以下载到最新的Ethereal源码包。
下面以Ethereal 0.9.9为例,讲述如何安装Ethereal,此处使用的操作系统是Red Hat 8.0。
首先下载最新的源码包,并将其解压缩:# cp ethereal-0.9.9.tar.bz2 /usr/local/src/# cd /usr/local/src/# bzip2 -d ethereal-0.9.9.tar.bz2# tar xvf ethereal-0.9.9.tar同Tcpdump一样,在编译Ethereal之前应先确定已经安装pcap库(libpcap),这是编译Ethereal 时所必需的。
如果该库已经安装,就可以执行下面的命令来编译并安装Ethereal:# cd ethereal-0.9.9# ./configure# make# make install设置Ethereal的过滤规则当编译并安装好Ethereal后,就可以执行“ethereal”命令来启动Ethereal。
在用Ethereal截获数据包之前,应该为其设置相应的过滤规则,可以只捕获感兴趣的数据包。
Ethereal使用与Tcpdump相似的过滤规则,并且可以很方便地存储已经设置好的过滤规则。
要为Ethereal 配置过滤规则,首先单击“Edit”选单,然后选择“Capture Filters...”菜单项,打开“Edit Capture Filter List”对话框(如图1所示)。
Ethereal -抓包、报文分析工具Ethereal 是一种开放源代码的报文分析工具,适用于当前所有较为流行的计算机系统,包括 Unix、Linux 和 Windows 。
主界面如上图,点“抓包配置”按钮,出现抓包配置界面如下图。
在“Interface”中选择网卡,即用来抓包的接口,如果选择错误就不能抓到报文;“Capture packets in promiscuous mode(混杂模式抓包)”是指捕捉所有的报文,如不选中就只捕捉本机的收发报文;如果选中“Limit each packet to xx bytes(限制每个包的大小)”则只捕捉小于该限制的包;抓包时,数据量比较大,解析起来速度慢,可在“Capture Filter(抓包过滤设置“Display Options(显示设置)”中建议选中“Update list of packets in realtime(实时更新抓包列表)”、“Automatic scrolling in live capture(自动滚屏)”和“Hide capture info dialog(隐藏抓包信息对话框)”三项。
抓包配置好就可以点击“Start”开始抓包了。
抓包结束,按“停止”按钮即可停止。
为了快速查看需要的报文,在“Filter”栏中输入过滤条件后按回车键即可对抓到的包进行过滤。
注意“Filter”栏中输入的过滤条件正确则其底色为绿色,错误则其底色为红色。
常用有些报文还可以判断网络的状况,例如输入显示过滤条件tcp.analysis.flags,可以显示丢失、重发等异常情况相关的TCP报文,此类报文的出现频率可以作为评估网络状况的一个标尺。
偶尔出现属于正常现象,完全不出现说明网络状态上佳。
tcp.flags.reset==1。
SYN是TCP建立的第一步,FIN是TCP连接正常关断的标志,RST是TCP连接强制关断的标志。
统计心跳报文有无丢失。
在statistics->conversations里选择UDP,可以看到所有装置的UDP报文统计。
利用Ethereal分析TCP数据包一.分析过程:1.图1 TCP协议图图2 TCP协议的内容图3 TCP协议的数据包2.数据分析1)分析:546代表的是Frame的序号,54 bytes代表的是54字节的数据包的长度2)分析:其中代表的是MAC地址字节: 6 6 2以太网的MAC帧格式目的地址:00 e0 5c 15 f1 cd(十六进制)源地址:00 1f d0 b8 da 78(十六进制)类型:一般类型字段的值是0x0800是,就是宝石上层使用的是IP数据报。
如果类型字段分值是0x8137则宝石该帧是由Novell IPX发过来的。
3)分析:版本:使用的是IP协议版本号为4(即IPv4)首部长度:20个字节的长度服务类型(新版本称区分服务):00,这个字段只有在使用区分服务时,才起作用。
在一般的情况下都不使用这个字段的。
总长度:40字节,总长度指的是首部和数据之和的长度标识:d0 34(十六进制)IP软件在存储器中维持一个计时器,每产生一个数据报,计时器就加1,并将此值赋给标志字段。
标志:001(二进制),目前标志只有两位有意义:标志最低位记为MF(More Fragment)。
MF=1表示后面“还有分片”的数据报,MF=0表示这已是若干数据报片中的最后一个。
标志中间的一位记为DF(Don’t Fragment),意思是“不能分片”。
只有当DF=0是才允许分片。
片偏移:0,0000,0000,0000(二进制)生存时间:80(十进制128s)生存时间表明的是数据报在网络中的寿命,一般以秒作为其单元。
协议:协议字段指出次此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分交给那个处理过程。
首部检验和:5167(二进制:0101,0001,0110,0111)这个字段值检验数据报的首部,但不包括数据部分。
源IP地址:192.168.1.3目的IP地址:219.133.60.34)源端口号:1157目的端口号:80(HTTP)序列号:73 71 72 cb确认号:24 ce 1c a0首部长度:20字节保留:00,0000UGR:0, URG 紧急指针,告诉接收TCP模块紧要指针域指着紧要数据ACK:1, ACK 置1时表示确认号(为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。
实验一:Ethereal使用入门一、背景知识Ethereal是目前广泛使用的网络协议分析工具(Network Protocol Analyzer),它能够实时地捕获网络上的包,并且把包中每个域的细节显现出来。
Ethereal的广为流行主要有以下三个原因:(1)它的功能非常强大,随着大家对Ethereal的熟悉将会深切感受到这一点。
(2)它是开源、免费的软件。
(3)它具有非常详细的文档。
Ethereal的安装文件和文档可以从下载。
二、Ethereal图形界面,如下图所示:第一部分是菜单和工具栏,Ethereal提供的所有功能都可以在这一部分中找到。
第二部分是被捕获包的列表,其中包含被捕获包的一般信息,如被捕获的时间、源和目的IP地址、所属的协议类型,以及包的类型等信息。
第三部分显示第二部分已选中的包的每个域的具体信息,从以太网帧的首部到该包中负载内容,都显示得清清楚楚。
第四部分显示已选中包的16进制和ASCII表示,帮助用户了解一个包的本来样子。
三、Ethereal的基本用法Ethereal的最基本功能是捕获网络包,其使用方法很简单,按如下步骤即可:(1)选择“Capture”菜单项中的“Option”,这时会弹出一个对话框,如下所示。
这个对话框中的栏目虽然很多,但一般只需配置其中两项。
一项是“Capture Filter”栏。
在这个栏中,可以输入过滤规则,用于规定Ethereal捕获包的种类(注:过滤规则的写法将在下一节作专门介绍);如果不输入过滤规则,则Ethereal将捕获所有从网卡发送或收到的包。
另外一项是“Update list of packets in real time”选项,请大家一定要选中这一项,这样可以使Ethereal在捕获包的同时,实时地把捕获的包显示出来。
(2)在完成如上配置后,点击“Start”按钮,Ethereal便开始捕获包。
四、Ethereal的过滤规则Ethereal的过滤规则可以有两种形式:(1)一个原语:一个原语即一条最基本的过滤规则(2)用“and”、“or”、“not”关系去处运算符,以及括号组合起来的原语。
上面所示图片是用Wireshark软件进行抓包数据分析的截屏,下面我将选取1号帧作为代表分别分析相应的数据:1、数据帧的相关信息:获取时间为0;源地址为118.123.234.160;目的地址为192.168.1.100;高层协议为UDP;包内信息概况为:源端口为irdmi,目标端口为51820,表示QQ聊天软件与本机网络连接的信息。
2、物理层的数据帧概况从图中可以看出:1号帧,线路上有101字节,实际捕获101字节,捕获时间为2010年10月24日18:14:36,测试时间为1287915276.685846000秒,此包与前一捕获帧的时间间隔为0秒,与前一个显示帧时间间隔为0秒,与第一帧的时间间隔为0秒,帧号为1,帧长为101字节,捕获长度为101字节,此帧没有被标记且没有被忽略,帧内封装的协议结构为UDP数据协议,用不同颜色染色标记的协议名为UDP,染色显示规则字符串为udp。
3、数据链路层以太网帧头部信息此包为以太网协议版本2,源地址为Tp-LinkT_a9:d9:c6 (00:19:e0:a9:d9:c6),说明本机的网络是有TP-Link路由器分出来的,其网卡地址为00:19:e0:a9:d9:c6;目标地址为HewlettP_78:9f:34 (00:25:b3:78:9f:34),说明本机的网卡是Hewlett厂家生产的,网卡地址为00:25:b3:78:9f:34。
帧内封装的上层协议类型为IP,十六进制代码为0800。
4、互联网层IP包头部信息互联网协议IPv4,源地址为118.123.234.160,目标地址为192.168.1.100,IP包头部长度为20字节,差分服务字段为0x00 (DSCP 0x00: Default; ECN: 0x00),表示一个特定的上层协议所分配的重要级别,默认的DSCP值是0,相当于尽力传送,ECN字段被分为ECN-Capable Transport (ECT) bit和CE bit,ECT bit设置为“ 0 ”表明该传输协议将忽略ignore CE bit,CE bit将由路由器设置,设置为0说明对末端节点不挤塞,IP包的总长度为87字节,标志字段为0,标记字段为0x02,没有分片,分片的偏移量为0,生存期为57,当减少为0时,该数据包将被丢弃以保证数据包不会无限制的循环,上层协议为UDP,报头的检验和显示为正确。
——用Ethereal捕获并分析数据包学院:计算机工程学院专业:计算机科学与技术姓名:张徽学号:2008404010135TCP报文格式分析◆TCP提供一种面向连接的、全双工的、可靠的字节流服务。
◆在一个TCP连接中,仅有两方进行彼此通信。
广播和多播不能用于TCP。
◆TCP的接收端必须丢弃重复的数据。
◆TCP对字节流的内容不作任何解释。
对字节流的解释由TCP连接双方的应用层解释。
◆TCP通过下列方式来提供可靠性:应用数据被分割成TCP认为最适合发送的数据块,称为报文段或段。
TCP协议中采用自适应的超时及重传策略。
TCP可以对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。
TCP的接收端必须丢弃重复的数据。
TCP还能提供流量控制。
TCP数据报的发送过程图TCP数据报的格式●源端口:占16比特(2个字节),分段的端口号;●目的端口:占16比特(2个字节),分段的目的端口号;端口是传输层与应用层的服务接口。
传输层的复用和分用功能都要通过端口才能实现;●序号字段:占4字节。
TCP连接中传送的数据流中的每一个字节都编上一个序号。
序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
●确认号字段:占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
●数据偏移:占4比特,它指出TCP报文段的数据起始处距离CP报文段的起始处有多远。
“数据偏移”的单位不是字节而是32bit字(4字节为计算单位)。
●保留字段:占6bit,保留为今后使用,但目前应置为0。
●编码位:编码位含义紧急比特URG 当URG=1时,表明紧急指针字段有效。
它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。
确认比特ACK只有当ACK=1时确认号字段才有效。
当ACK=0时,确认号无效。
推送比特PSH 当PSH=1时,表示请求急迫操作,即分段一到马上就发送应用程序而不等到接收缓冲区满时才发送应用程序。
复位比特RST(Reset) 当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。