以太网数据帧的监听与分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

以太网数据包结构

以太网包(帧)格式

在以太网的发展过程中,出现了很多的帧格式,目前,应用最多的是以太网II格式,也就是以太网版本2,是由DEC、Intel和Xerox在1982年制定的,现在几乎是以太网的标准,它是由RFC894所定义的,其帧格式如下图所示:

0x0800:IP协议数据包

0x0806:ARP协议数据包

0x0835:RARP协议数据包

0x8863:PPP Over Ethernet Discovery Stage

0x8864:PPP Over Ethernet Session Stage

IP协议数据包结构如下页表:

IP是一个无连接的协议,主要就是负责在主机间寻址并为数据包设定路

由,在交换数据前

它并不建立会话。因为它不保证正确传递,另一方面,数据在被收到时,IP不

需要收到确

认,所以它是不可靠的。

版本号(Version):长度4比特。标识目前采用的IP协议的版本号。一般的值为0100(IPv4),IPv6的值(0110)

IP包头长度(Header Length):长度4比特。这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。IP包头最小长度为20字节,由于变长的可选部分最大长度可能会变成24字节。

服务类型(Type of Service):长度8比特。这个子段可以拆分成两个部分:优先级(Precedence)和服务条款(TOS)。TOS(前三位)目前不太使用。

而Precedence则用于QOS应用。(TOS字段的详细描述RFC 1340 1349)

8个BIT的含义是:

000前三位不用

0表示最小时延,如Telnet服务使用该位

0表示吞吐量,如FTP服务使用该位

0表示可靠性,如SNMP服务使用该位

0表示最小代价

0不用

IP包总长(Total Length):长度16比特。IP包最大长度65535字节。

标识符(Identifier):长度16比特。该字段和Flags和Fragment Offest 字段联合使用,对大的上层数据包进行分段(fragment)操作。

标记(Flags):长度3比特。该字段第一位不使用。第二位是DF位,DF 位设为1时表明路由器不能对该上层数据包分段。如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。第三位是MF位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分

段的IP包的包头中将MF位设为1。

分段序号(Fragment Offset):长度13比特。该字段对包含分段的上层数据包的IP包赋予序号。由于IP包在网络上传送的时候不一定能按顺序到达,这个字段保证了目标路由器在接受到IP包之后能够还原分段的上层数据包。到某个包含分段的上层数据包的IP包在传送是丢失,则整个一系列包含分段的上层

数据包的IP包都会被要求重传。

生存时间(TTL):长度8比特。当IP包进行传送时,先会对该字段赋予某个特定的值。当IP包经过每一个沿途的路由器的时候,每个沿途的路由器会将IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。这个字段可以防止由于故障而导致IP包在网络中不停被转发。

协议(Protocol):长度8比特。标识了上层所使用的协议。如果是ICMP 协议,此处的协议代码应为1。如果TCP协议,则此处的协议代码应为6。如果是UDP协议,则此处的协议代码应为17。

头部校验(Header Checksum):长度16位,由于IP包头是变长的,所以提供一个头部校验来保证IP包头中信息的正确性。

起源和目标地址(Source and Destination Addresses)

IP选项(options)主要用于控制和测试两大目的。

作为选项,用户可以使用也可以不使用IP选项,但作为IP协议的组成部分,所有实现IP协议的设备能处理IP选项。

在使用选项的过程中,有可能造成数据包头部不是32b的整数倍,那么则

需要填充域来凑齐。

IP数据报选项有选项玛、长度、和选项数据3部分组成,

其中,选项玛用于确定该选项的具体内容,选项数据部分长度有选项字段决

定。

1.源路由。

所谓源路由是指IP数据包穿越互联网所经过的路径是有源主机指定的,他

区别于

有主机或路由器的互联层软件自行选择路由后得出的路径。

源路由选项是非常有用的一个选项,可用于测试某个特定网络的吞吐量,

也可以是数据包绕开出错网络。

源路由选项可以分为两类,一类是严格源路由选项,一类是松散源路由选

项。

2.记录路由

所谓记录路由是指记录下IP数据报从源主机到目的主机所经过的路径上的各个路由器的IP地址,记录路由功能可以通过IP数据报的记录路由选项完成。

利用记录路由选项,可以判断IP数据报传输过程中的所经过的路径,通常还可以测试互联网中路由配置是否正确。

3.时间戳

所谓时间戳(timer stamp)就是记录下IP数据报经过的每一个路由器时的当地时间,记录时间戳可以使用IP数据报的时间戳选项。

时间戳中的时间采用格林尼治时间。

时间戳选项提供了IP数据报传输中的时域参数,用于分析网路吞吐率,拥

塞情况,负载情况等

ICMP报文结构如下:

internet控制消息协议ICMP是用于报告错误并代表IP对消息进行控制。

16bits校验和字段:包括数据在内的整个ICMP数据包的校验和,其计算方法和IP头部校验和的计算方法是一样的。

16bits标识符字段:用于标识本ICMP进程

16bits序列号字段:用于判断回射应答数据报。

时间戳:时间戳请求报文(Type=13)和时间戳应答报文(Type=14)用于测试两台主机之间数据报来回一次的传输时间。传输时,主机填充原始时间戳,接收方收到请求后填充接收时间戳后以Type=14的报文格式返回,发送方计算这个

时间差。一些系统不响应这种报文。

TCP报文结构如下表:(摘自

/viewtopic.php?f=3&t=21)

传输控制协议(TCP)向上与用户应用程序进程接口,向下与网络层协议IP 接口。用户应用程序采用首先调用TCP(或UDP),然后将应用程序数据递交给

相关文档
最新文档