本实验为南京邮电大学计算机网络课程的一部分,旨在通过使用专业工具进行网络协议分析,帮助学生深入理解数据通信原理和实践技能。
### 知识点生成
#### 实验背景与目标
本次实验是南京邮电大学计算机网络课程中的一个重要组成部分,旨在帮助学生深入理解网络协议的工作机制及其分析方法。通过实验,学生可以掌握Wireshark这一强大的网络捕获分析工具,并学会如何解密SSL数据包等关键技能。实验特别强调对TCP三次握手过程、ICMP协议的理解以及Wireshark的高级过滤功能的应用。
#### 实验环境
- **实验设备**:个人电脑(PC)
- **软件工具**:Wireshark
- **网络环境**:校园网或其他可控网络环境
- **理论基础**:基本的网络协议知识,如TCP/IP模型、HTTP协议等
#### 实验内容与步骤
##### 一、HTTP协议分析
1. **HTTP分组俘获**
- **准备工作**:在开始之前,需要清空Web浏览器的缓存和DNS缓存,确保所有数据都是从网络中获取的。
- 清除缓存命令:`ipconfig flushdns`
- **俘获设置**:启动Wireshark并开始分组俘获。
- **测试URL**:输入测试URL,并访问该网页。
- **俘获停止**:完成访问后,停止俘获分组。
2. **DNS协议分析**
- **封装方式**:DNS协议主要使用UDP进行封装。
- **查询IP**:DNS查询消息的IP地址为`202.119.224.201`,本地DNS服务器的IP地址为`10.222.240.8`。
- **端口号**:DNS查询消息的目的端口为53,响应消息的源端口通常在客户端随机选择。
3. **HTTP GET response交互**
- **HTTP版本**:浏览器运行的是HTTP 1.1,访问的服务器也使用相同版本。
- **语言偏好**:浏览器向服务器发送的语言偏好头字段`Accept-Language: zh-cn`。
- **客户端IP**:计算机的IP地址为`10.161.151.85`。
- **状态代码**:服务器返回的状态代码为200 OK,表示请求成功。
- **文件最后修改时间**:获取的HTML文件最后修改时间为4 Dec 2023 01:49:51 GMT。
- **内容大小**:返回到浏览器的内容总大小为8,088字节。
##### 二、HTTP条件GET response交互
1. **清除缓存**:使用IE浏览器时,通过“工具”->“Internet选项”->“删除”->“Internet临时文件”、“历史记录”,清除缓存中的内容。
2. **俘获设置**:启动Wireshark并开始分组俘获。
3. **测试URL**:输入另一个测试URL,并访问该网页。
4. **重新加载**:在浏览器中重新输入相同的URL或点击“刷新”按钮。
5. **过滤分析**:
- 停止俘获后,在Wireshark中使用过滤规则“http”,仅显示HTTP相关的报文。进一步进行以下分析:
- **条件GET请求**:浏览器向服务器发出的第一个HTTP GET请求中没有包含`If-Modified-Since`头字段。
- **响应分析**:服务器返回的响应包包含了文件的具体内容,通过查看响应包中的内容来确认。
#### 总结与反思
本次实验不仅让学生熟悉了Wireshark的使用方法,还深入学习了HTTP协议的工作原理。通过对HTTP GET response交互的分析,学生能够更好地理解浏览器与服务器之间的通信流程,并了解如何利用条件GET请求减少不必要的数据传输。此外,通过DNS查询和响应过程的分析,进一步加深了对DNS解析机制的理解。整个实验不仅增强了学生的实践能力,也为后续深入研究网络协议提供了坚实的基础。