第五章数据报文解码简析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第五章数据报文解码简析本章主要对:数据报文分层、以太报文结构、IP协议、ARP协议、TCP协议、UDP协议等的解码分析做了简单的描述,目的在于介绍Sniffer软件在协议分析中的功能作用并通过解码分析对协议进一步了解。对其其他协议读者可以通过协议文档和Sniffer捕获的报文对比分析。5.1数据报文分层如下图所示,对于四层网络结构,其不同层次完成不通功能。每一层次有众多协议组成。图5-1如上图所示在Sniffer的解码表中分别对每一个层次协议进行解码分析。链路层对应“DLC”;网络层对应“IP”;传输层对应“TCP/UDP”;应用层对对应的是“HTTP”等高层协议。Sniffer可以针对众多协议进行详细结构化解码分析。并利用树形结构良好的表现出来。5.2以太报文结构EthernetII以太网帧结构字节数712或62或6246-15000-464前导字段帧起始符目的地址源地址长度或类型数据填充校验和图5-2Sniffer会在捕获报文的时候自动记录捕获的时间,在解码显示时显示出来,在分析问题时提供了很好的时间记录。源目的MAC地址在解码框中可以将前3字节代表厂商的字段翻译出来,方便定位问题,例如网络上2台设备IP地址设置冲突,可以通过解码翻译出厂商信息方便的将故障设备找到,如00e0fc为华为,010042为Cisco等等。如果需要查看详细的MAC地址用鼠标在解码框中点击此MAC地址,在下面的表格中会突出显示该地址的16进制编码。IP网络来说Ethertype字段承载的时上层协议的类型主要包括0x800为IP协议,0x806为ARP协议。IEEE802.3以太网报文结构LLC子层MAC子层DSAPSSAPControl8bit8bit8/16bitDMACSMACLengthLLCDATA/FCSIEEE802.3帧结构LLC子层MAC子层DSAPSSAPControl8bit8bit8/16bitDMACSMACLengthLLCDATA/FCSIEEE802.3帧结构上图为IEEE802.3SNAP帧结构,与EthernetII不同点是目的和源地址后面的字段代表的不是上层协议类型而是报文长度。并多了LLC子层。图5-35.3.IP协议版本:4位IHL域(4位):指明了该头部要多长(以32位字的长度为单位)。最小值为5,最大值为15,这限制了头部的最大为60字节。服务类型(TYPEOFService6位)总长度(TotalLength)域(16位):包含了该数据包中的所有内容,即头和数据最大长度65535字节。标识(Identification)16位:让目标主机确定一个新到达的分段属于哪一个数据报,同一个数据报的所有分段包含同样的Identification值接下来是一个未使用的位。DF(1位):不分段MF(1位):更多的分段分段偏移(Fragmentoffset):13位,指明了该分段在当前数据报中的什么位置。TTL(Timetolive):8位,一个用于限制分组生存期的计数器,计数单位为秒,最大生存期为255秒协议(Protocol):8位,指明了该将它交给哪个传输进程TCP/UDP头部校验和(Headerchecksum):16位,只校验头部,这样的校验和对于检测“因路由器中的坏内存而产生的错误”非常有用源地址(Sourceaddress):32位目的地址(Destinationaddress):32位选项(Options):设计意图是提供一种途径,允许后续版本的协议,包含一些原来的设计中没有出现的信息,允许实验人员试验新的想法,避免为那些不常使用的信息分配头部域。选项是变长的,每个选项的第一个字节是一个标识码,它标明了该选项。有的选项后面跟着一个1字节的选项长度域,然后是一个或多个数据字节。Options域被补齐到4字节的倍数。最初的时候定义了5个选项,如图所列:选项说明Security规定了数据报的秘密程度Strictsourcerouting给出了必须要遵循的完整路径Loosesourcerouting给出了一组路由器,路由过程中不能漏掉这些路由器Recordroute让每台路由器都附上它的IP地址Timestamp让每台路由器都附上它的地址和时间戳图5-4上图为Sniffer对IP协议首部的解码分析结构,和IP首部各个字段相对应,并给出了各个字段值所表示含义的英文解释。5.4TCP协议源端口(SourcePort):16位目的端口(DestinationPort):16位序列号(SequenceNumber):32位确认号(AcknowledgementNumber):32位,指定的是下一个期望的字节,而不是已经正确接收的最后一个字节。TCP头长度(TCPheaderlength):4位,指明了TCP头部包含了多少32位的字。接下来是未使用的6位。ACK:表明了Acknowledgementnumber是有效的。PSH:表示这是带有PUSH标志的数据RST:被用于重置一个已经混乱的连接,之所以会混乱,可能是由于主机崩溃,或者其他原因SYN:被用于建立连接的过程FIN:被用于释放一个连接,它表示发送方已经没有数据要传输了WindowsSize(窗口大小):16位,TCP中的流控制是通过一个可变大小的滑动窗口来完成的,窗口大小域指定了从被确认的字节算起,可以发送多少个字节Checksum(校验和):16位,提供了额外的可靠性,它的校验范围包括头部数据以及概念性的伪头部图5-55.5UDP协议版本域(Version):2位P位:表示该分组已被填充到4字节的倍数CC域:4位,指明了后面共有多少个分信源(contributingsource),可以从0到15。M位是一个与应用相关的标记位,它可以被用来标记一个视频帧的开始。音频信道中一个字的开始,或者其他由应用来理解的某一件事情,净荷类型(PayloadType):7位,指出该分组使用了哪一种编码算法,序列号(SequenceNumber):16位,是一个计数器,在每个被发送出去的RTP分组中该计数器都要递增。时间戳:32位,是由RTP流的源产生的,它注明了该分组中的第一个样本是什么时候产生的。同步源标识符(Synchronizationsourceidentifier):32位,指明了该分组属于哪一个流。分信源标识符(Contributingsourceidentifier):在媒体制作过程中使用了混合器的话被使用。5.6ARP协议HTYPE(硬件类型)。16位,用来定义运行ARP的网络的类型。每一个局域网基于其类型被指派给一个整数。例如,以太网是类型1。ARP可使用在任何网络上。PTYPE(协议类型)。16位,用来定义协议的类型。例如,对IPv4协议,这个字段的值是0800。ARP可用于任何高层协议。HLEN(硬件长度)。8位,用来定义以字节为单位的物理地址的长度。例如,对以太网这个值是6。PLEN(协议长度)。8位,用来定义以字节为单位的逻辑地址的长度。例如,对IPv4协议这个值是4。OPER(操作)。16位,用来定义分组的类型。已定义了两种类型:ARP请求(1),ARP回答(2)。SHA(发送站硬件地址)。这是一个可变长度字段,用来定义发送站的物理地址的长度。例如,对以太网这个字段是6字节长。SPA(发送站协议地址)。这是一个可变长度字段,用来定义发送站的逻辑(例如,IP)地址的长度。对于IP协议,这个字段是4字节长。THA(目标硬件地址)。这是一个可变长度字段,用来定义目标的物理地址的长度。例如,对以太网这个字段是6字节长。对于ARP请求报文,这个字段是全0,因为发送站不知道目标的物理地址。TPA(目标协议地址)。这是一个可变长度字段,用来定义目标的逻辑地址(例如,IP地址)的长度。对于IPv4协议,这个字段是4字节长。

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功