本实验通过使用Wireshark工具,详细解析了以太网帧结构及其工作原理,并深入探讨了地址解析协议(ARP)的工作机制和应用场景。
### 实验4 使用Wireshark分析以太网帧与ARP协议
#### 一、实验目的
本次实验的主要目的是深入理解并分析以太网帧结构、MAC地址及其工作原理,以及ARP(Address Resolution Protocol,地址解析协议)的工作机制。通过实际操作Wireshark这一网络抓包工具,学生可以更直观地了解数据在网络中的传输过程。
#### 二、实验环境
- **网络系统**: 与互联网相连的计算机网络。
- **操作系统**: Windows。
- **软件**: Wireshark、IE浏览器等。
#### 三、实验步骤详解
**1. 俘获和分析以太网帧**
- **准备工作**:
- 使用Wireshark之前,需要先清除浏览器缓存,以避免可能存在的干扰因素。
- 启动Wireshark捕获工具,准备捕获网络流量。
- **实际操作**:
- 在浏览器中输入特定的URL(例如:`http://gaia.cs.umass.edu/wireshark-labs/`),访问目标网站。
- 观察Wireshark捕获的HTTP GET请求和响应数据包。
- 分析这些数据包的层次结构: HTTP请求被封装在TCP数据段中,TCP数据段又被封装在IP数据报中,最终IP数据报被封装在以太网帧中。
- **分析任务**:
- 确定所在主机的48-bit Ethernet地址。
- 查看以太网帧的目的地址,并判断其是否为目标服务器(例如:`gaia.cs.umass.edu`)的Ethernet地址。
**2. 分析地址解析协议(ARP)**
- **ARP缓存清理**:
- 在MS-DOS环境下,使用命令 `arp –d` 来清空ARP缓存表,确保后续的ARP请求不会直接命中缓存。
- **实际操作**:
- 重复之前清除缓存和启动Wireshark的步骤。
- 访问特定URL(例如:`http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-lab-file3.html`),触发ARP请求。
- **观察分析**:
- 关闭Wireshark的IP协议分析功能,以便专注于ARP协议。
- 观察Wireshark捕获的ARP请求和响应数据包,理解ARP协议如何实现IP地址到MAC地址的转换。
#### 四、实验报告
**1. 包含ARP请求消息的以太帧的十六进制目的地和源地址**
- **目的地址**: 在以太网帧中,ARP请求通常使用广播地址`FF:FF:FF:FF:FF:FF`作为目的地址,这意味着数据包将被广播到局域网上的所有设备。
- **源地址**: 源地址则是发起ARP请求的设备的MAC地址,可以通过Wireshark捕获的数据包详细信息查看得到。
#### 五、进一步扩展
**以太网帧结构**
- 以太网帧包含以下几个主要部分:
- **目的地址**: 6字节的MAC地址,用于指定接收设备。
- **源地址**: 发送设备的6字节MAC地址。
- **类型长度字段**: 用于指示上层协议类型。
- **数据**: 包含上层协议的数据。
- **填充**: 如果数据不足最小帧长度,则添加填充数据。
- **帧校验序列(FCS)**: 用于错误检测。
**ARP协议工作机制**
- 当一台设备想要与另一台设备通信时,它需要知道对方的MAC地址。
- 如果不知道目标设备的MAC地址,源设备会发送一个ARP广播请求,询问特定IP地址对应的MAC地址。
- 目标设备收到请求后,会发送一个ARP响应,其中包含其MAC地址。
- 发起请求的设备会将这次查询的结果保存在ARP缓存中,以备将来使用。
**Wireshark使用技巧**
- **过滤功能**: 使用过滤功能可以帮助快速定位感兴趣的流量,例如使用`arp`或`ethernet.addr == xx:xx:xx:xx:xx:xx`等过滤表达式。
- **解码功能**: Wireshark能够解码多种协议,并以易于理解的方式展示数据包内容。
- **导出功能**: 实验过程中捕获的数据可以导出为各种格式,便于后续分析或分享。
通过本实验,学生不仅可以加深对网络底层原理的理解,还能掌握Wireshark这一强大工具的使用方法,这对于日后从事网络安全、网络管理等工作都大有裨益。