Educoder | 计算机网络实验-以太网与ARP协议分析

第1关:抓取Ethernet包

任务描述

本关任务:在 Wireshark 下抓取 Ethernet 包。

相关知识

为了完成本关任务,你需要掌握:

  1. Ethernet 帧结构;
  2. 学会抓取一组以太帧结构。

以太帧类型

以太帧有很多种类型。不同类型的帧具有不同的格式和 MTU 值。但在同种物理媒体上都可同时存在。

  1. 以太网第二版或者称之为 Ethernet II 帧,DIX 帧,是最常见的帧类型。并通常直接被 IP 协议使用;
  2. Novell 的非标准 IEEE 802.3 帧变种;
  3. IEEE 802.2 逻辑链路控制(LLC) 帧;
  4. 子网接入协议(SNAP)帧。

Ethernet帧格式

以太网中大多数的数据帧使用的是 Ethernet II 格式:

Ethernet II 类型以太网帧的最小长度为 64 字节(6+6+2+46+4),最大长度为 1518 字节(6+6+2+1500+4)。其中: (1)前 12 字节分别标识出发送数据帧的源节点 MAC 地址和接收数据帧的目标节点 MAC 地址; (2)接下来的 2 个字节标识出以太网帧所携带的上层数据类型,如 16 进制数0x0800代表 IP 协议数据,16 进制数0x86dd代表 IPv6 协议数据,16 进制数0x809B代表 AppleTalk 协议数据,16 进制数0x8138代表 Novell 类型协议数据等; (3)在不定长的数据字段(Data):其长度是 46 至 1500 字节; (4)4 个字节的帧校验序列(Frame. Check Sequence,FCS),采用 32 位 CRC 循环冗余校验对从“目标 MAC 地址”字段到“数据”字段的数据进行校验。

IEEE 802.3 帧格式:

各字段说明如下: (1)D-MAC && S-Mac:分别表示标识目标地址和源地址。它们均为 6 个字节长。如果传输出去的目标地址第一位是 0,则表示这是一个普通地址;如果是 1, 则表示这是一个组地址。 (2)Length / Type :通常这个字段用于指定报文头后所接的数据类型。通常使用的值包括:IPv4(0x0800), IPv6(0x86DD), ARP(0x0806)。 而值0x8100代表一个 Q-tagged 帧(802.1q)。通常一个基础的以太网帧长为 1518 字节,但是更多的新标准把这个值扩展为 2000 字节。 (3)MAC Client Data: 数据主体,由 LLC、SNAP 及 Data 构成。最小长度为 48 字节(加上帧头 12 字节,CRC4 字节刚好 64 字节), 当数据主体小于 48 字节时,会添加 pad 字段。选取最小长度是出于冲突检测的考虑(CSMA/CD)。而数据字段最大长度为 1502 字节。

IEEE 802.2 LLC的头构成: (a)DSAP 目的服务访问字段,1 字节长,指明帧的目的上层协议类型; (b) ASAP 源服务访问字段,1 字节长,指明帧的源上层协议类型; (c) control 控制 1 字节或者 2 字节,长度要看被封装的 LLC 数据类型,是 LLC 数据报(类型1)1 字节,LLC 对话的一部分(类型2)2 字节。

类型1 表明是无连接的,不可靠的 LLC 数据报,控制字段用0x03指明;类型 2 表明是面向连接可靠的 LLC 会话。 (4)FCS(Frame Check Sequence):也叫 CRC(Cyclic Redundancy Check),CRC 是差错检测码,用来确定接收到的帧比特是否正确。

IEEE 802.3 SNAP

虽然 IEEE 802.3 是标准,但没有被业界采用。以太网 II 已成事实标准。于是 IEEE 802.3 扩展产生 IEEE 802.3 SNAP 来兼容以太网网头部协议,在 IEEE 802.2 LLC 头部后插入了 SNAP 头部。 SNAP 头部字段构成: (1)组织代码 3 字节长,指明维护接下来 2 字节意义的组织,对 IP 和 ARP,该字段被设置为0x00-00-00。 (2)以太网类型 如果组织代码为0x00-00-00,接下来 2 字节就是以太网类型 IP (0x0800)ARP(0x0806)。 因为增加了 LLC 头部的 3 字节和 SNAP 头部的 5 字节所以有效载荷比以太网 II 少 8 个字节。

捕获以太帧

确保浏览器的缓存为空(清除浏览器缓存:请选择工具—>清除最近历史记录),然后启动 Wireshark 数据包嗅探器。 打开 URL http://gaia.cs.umass.edu,停止 Wireshark 数据包捕获,找到您向gaia.cs.umass.edu的 HTTP GET 消息的数据包编号以及gaia.cs.umass.edu相应您的 HTTP回应。抓包结果截图如下:

帧类型

本实验是关于以太网和 ARP,不需要高层协议,所以我们更改 Wireshark 的“捕获数据包列表”窗口,以便它仅显示有关 IP 以下协议的信息。请选择 Analyze-> Enabled Protocols(分析-启用的协议)。 然后取消选中 IP 框并选择确定。结果的截图如下:

操作要求

双击打开桌面上的工作区文件夹workspace,再打开实训文件夹myshixun,并打开其中的文件message-1.txt,将查询的信息保存到文件message-1.txt。具体要求如下: (1)打开 Wireshark,加载实训文件夹中的ethernet-ethereal-trace-1文件,进行分析; (2)根据包含 HTTP GET 消息的以太网帧进行分析:以太网帧中 48 位目的地址是什么?填写到文件中; (3)打开左上角的terminal emulator窗口,通过ping gaia.cs.umass.edu命令查看gaia.cs.umass.edu的IP地址,在终端命令中输入查看arp命令:arp 查看是否有gaia.cs.umass.edu的MAC地址,如果有,将其MAC地址填写到文件中,如果没有,填写“否”到文件中; (4)Ethernet II 两字节的帧类型字段的十六进制值,填写到文件中;

测试说明

平台会对你操作的结果进行测试,如果所有操作都正确,将顺利通过本关。


开始你的任务吧,祝你成功!

第2关:Ethernet包分析

任务描述

相关知识

为了完成本关任务,你需要掌握:

  1. Ethernet 包详细介绍;
  2. wireshark 下分析 Ethernet 包分析。

Ethernrt 包

Ethernet II 类型以太网的帧结构:

报头: 8 个字节,前 7 个 0,1 交替的字节(10101010)用来同步接收站,一个1010101011字节指出帧的开始位置。报头提供接收器同步和帧定界服务。 目标地址: 6 个字节,单播、多播或者广播。单播地址也叫个人、物理、硬件或 MAC 地址。广播地址全为 1 , 0xFF FF FF FF。 源地址: 6 个字节。指出发送节点的单点广播地址。 以太类型: 2 个字节,用来指出以太网帧内所含的上层协议。即帧格式的协议标识符。对于 IP 报文来说,该字段值是0x0800。对于 ARP 信息来说,以太类型字段的值是0x0806有效负载:由一个上层协议的协议数据单元 PDU 构成。可以发送的最大有效负载是 1500 字节。由于以太网的冲突检测特性,有效负载至少是 46 个字节。如果上层协议数据单元长度少于 46 个字节,必须增补到 46 个字节。 帧检验序列:4 个字节。验证比特完整性。

展开数据包的详细信息

点击 Protocol Version 4 可以观察 Protocol Version 4 的内容,我们可以看到 IP 的源地址和目的地址,以及 IP 的版本是 4,并且其头的长度为 20 个字节。

User Datagram Protocol 可以观察 User Datagram Protocol 的内容,显示了源端口号,还有目的端口号,以及 UDP 协议的长度,和包头检验和的结果(checksum)。 Data 可以观察 Data 的内容,可以看出 Data 的长度为 49: 计算字节: 例如计算从以太帧的开始,一直到“GET”中的 ASCII G出现在以太网帧中为止,有 55 Byte(此时第一个字节为 1)。图中每两个十六进制字符代表一个字节(8 比特),FF = 11111111(2) = 8 Bit = 1 Byte

操作要求

双击打开桌面上的工作区文件夹workspace,再打开实训文件夹myshixun中的项目文件夹,并打开其中的文件message-2.txt,将查询的信息保存到文件message-2.txt。具体要求如下: (1)打开 Wireshark,加载实训文件夹中的ethernet-ethereal-trace-1文件,进行分析; (2)根据包含 HTTP GET 消息的以太网帧进行分析,回答以太网 48 位源地址是什么?是 gaia.cs.umass.edu 服务器的地址吗?填写到文件中; (3) 找到包含 HTTP响应消息的第一个字节的以太网帧的内容; (4) 从此以太网帧的开始,一直到“OK”中的 ASCII O出现在以太网帧中为止,有多少字节?填写到文件中; (5) 此以太网帧的源地址的值是多少?填写到文件中; (6) 此以太网帧以太网帧中的目的地址是什么?这是您的计算机的以太网地址吗(填“是”或“否)?填写到文件中;

测试说明

平台会对你操作的结果进行测试,如果所有操作都正确,将顺利通过本关。


开始你的任务吧,祝你成功!

第3关:抓取ARP命令的包

任务描述

本关任务:抓取 ARP 命令的包。

相关知识

为了完成本关任务,你需要掌握:

  1. ARP 协议;
  2. ARP 命令。

由于 ARP 命令和 ARP 协议具有相同的名称,因此很容易混淆它们。但它们是不同的:ARP 命令用于查看和操作 ARP 缓存内容,而 ARP 协议定义了发送和接收的消息的格式和含义,并定义了对消息传输和接收所采取的操作。

ARP缓存

  1. 查看您计算机上 ARP 缓存的内容,在 Windows 下运行 CMD 窗口,输入命令arp,其详细指令如下图所示。

  2. 执行指令arp -a,如下图所示。

  3. 为了观察您的计算机发送和接收 ARP 消息,我们需要清除 ARP 缓存,否则您的计算机很可能在其缓存中找到所需的 IP-Ethernet 地址转换关系,因此不会发送 ARP 消息。执行删除命令后,再查看缓存内容,如下图所示。

抓取ARP消息

清除 ARP 表的缓存,清除浏览器的缓存,启动 Wireshark 捕捉封包。打开 URL:www.educoder.net。如任务一,同样设置不显示 IP 和更高层协(选择Analyze-> Enabled Protocols)。 然后取消选中 IP 框,之后窗口内容应该如下:

操作要求

双击打开桌面上的工作区文件夹workspace,再打开实训文件夹myshixun,并打开其中的文件message-3.txt,将查询的信息保存到文件message-3.txt。具体要求如下: (1)在桌面空白处右击,打开终端,输入arp命令; (2)查看计算机 ARP 缓存的内容,每个列值的含义是什么?(用分号";"隔开)写入文件中;

测试说明

平台会对你操作的结果进行测试,如果所有操作都正确,将顺利通过本关。


开始你的任务吧,祝你成功!

第4关:ARP协议分析

任务描述

本关任务:对 ARP 协议进行分析。

相关知识

为了完成本关任务,你需要掌握:

  1. 如何抓取 ARP 命令的包;
  2. 协议的简单分析。

ARP报文

报文格式

抓取APR命令的包

在任务三的基础上,清除你的 ARP 缓存,接下来,确保浏览器的缓存是空的。打开URL:http://gaia.cs.umass.edu/wireshark-labs/HTTP-ethereal-lab-file3.html。同样设置不显示 IP 和更高层协议,您现在 Wireshark 窗口应该如下所示:

简单的ARP协议分析

在 ARP 中发送了 2 种不同的报文,分别是,从源到目的地和从目的地到源。发送方是发送报文,目标方是接收报文。发送方和目标方的身份对每个报文都不一样,根据具体的情况而定:

  • 对发送方来说: 请求:发送方是源,目标方是目的地 回答:发送方是目的地,目标方是源 发送方硬件地址:ARP 报文中发送方的第 2 层地址 发送方协议地址:ARP 报文中发送方的第 3 层地址

  • 对目标方来说: 请求:目标方是源,发送方是目的地 回答:目标方是目的地,发送方是源 目标方的硬件地址:ARP 报文中目标方的第 2 层地址 目标方的协议地址:ARP 报文中目标方的第 3 层地址

展开 Etnernet 的头部,我们可以看到包含 ARP 请求消息的以太网帧中源地址和目标地址的十六进制:

太网帧上层协议: 找到 ARP 的操作码(Opcode)我们可以看到操作码字段的值是 1,也可计算出 ARP 操作码字段开始从以太网帧的最开始有15+6=21个字节

而 ARP 消息包含发送方的 IP 地址:

操作要求

双击打开桌面上的工作区文件夹workspace,再打开实训文件夹myshixun,并打开其中的文件message-4.txt,将查询的信息保存到文件message-4.txt。然后进行如下操作: (1)打开 Wireshark ,加载实训文件夹中的ethernet-ethereal-trace-1文件,进行分析; (2)筛选 ARP 数据报,并找到 request(请求)消息; (3)查看包含 ARP 请求消息的以太网帧中源地址和目标地址的十六进制值是什么?填写到文件中; (4)请问在进行 ARP 请求的以太网帧的 ARP 负载部分中,操作码字段的值是多少?从操作码段开始以太网帧的最开始有多少字节?填写到文件中; (5)ARP 消息是否包含发送方的 IP 地址?(填写"是/否"),填写到文件中; (6)筛选 ARP 数据报,并找到 reply(回复)消息; (7)包含 ARP 回复消息的以太网帧中的源地址和目标地址的十六进制值是多少?填写到文件中;

测试说明

平台会对你操作的结果进行测试,如果所有操作都正确,将顺利通过本关。


开始你的任务吧,祝你成功!

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以太网是一种局域网通信协议,它定义了数据在局域网上的传输方式和网络设备之间的通信规则。ARP(地址解析协议)是用于将网络层地址(如IP地址)解析为物理地址(如MAC地址)的协议。 在进行以太网ARP协议分析实验时,通常会使用网络分析工具(如Wireshark)来捕获网络数据包并进行分析。通过分析捕获的数据包,可以了解网络设备之间的通信过程和通信数据的内容。 实验结果分析的具体内容取决于实验设计和目的,以下是可能的分析方向: 1. 网络拓扑结构分析:通过捕获的数据包可以了解网络中有哪些设备、它们的IP地址和MAC地址是什么,以及它们之间的通信方式(如广播、单播、多播等)。 2. ARP协议分析:通过捕获的ARP请求和响应数据包可以了解网络设备之间的地址映射关系,从而实现网络通信。 3. 以太网帧格式分析:通过捕获的以太网帧可以了解帧头、帧体、帧尾等部分的具体格式和含义,以及以太网帧中各字段的作用和取值范围。 4. 网络性能分析:通过捕获的数据包可以了解网络中的流量情况、数据包的大小和传输速率等信息,从而评估网络的性能和瓶颈。 综上所述,以太网ARP协议分析实验是一项重要的网络技术实验,可以帮助我们深入了解网络通信的原理和机制,从而提高网络管理和优化网络性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值