实验3 UDP协议分析
- 掌握运输层UDP协议内容
- 理解UDP协议的工作原理
- 了解应用层和运输层协议的关系
- 硬件要求:阿里云云主机ECS 一台
- 软件要求:Linux/ Windows 操作系统
UDP(User Datagram Protocol)用户数据报协议是一种无连接的运输层协议,提供面向事物的简单不可靠信息传送服务,服务于很多应用层协议包括网络文件系统(NFS),简单的网络管理协议(SNMP),域名系统(DNS)以及简单的文件传输系统(TFTP)。与TCP不同UDP并不提供对IP协议的可靠机制,控制以及错误恢复等。由于UDP比较简单,UDP头包含很少的字节,比TCP负载消耗少。
完成下面实验并填写表格,回答问题。
- DNS查询UDP数据分析
使用tcpdump抓取DNS查询网络通信数据包,利用wireshark分析UDP数据。
例如:
dig www.xju.edu.cn
- QQ通信UDP数据分析
利用wireshark抓取QQ网络通信数据包,分析UDP数据。
QQ客户端之间消息传送采用了UDP。国内网络环境非常复杂而且很多用户采用的方式是通过代理服务器共享一条线路上网方式,UDP包能够穿透大部分的代理服务器,因此QQ选择了UDP作为客户之间的通信协议。因此我们打开QQ聊天窗口开启捕获,与好友进行对话,停止捕获就得到了UDP数据包。
- 需给出实验中相关命令、脚本或者代码以及运行截图。注意格式规范、截图清晰,大小合适;
- 对于中间过程和运行结果需给出必要分析说明;
- 根据捕获的数据包,分析UDP的报文结构,将UDP协议中个字段名,字段值,字段信息填入下表:
4.1.1.1 利用dig解析www.xju.edu.cn
4.1.1.2 利用tcpdump抓取DNS查询网络通信数据包,以test.cap保存下来
4.1.1.3 将抓取的包从ubuntu导出到windows
4.1.1.4 对导出的包在wireshark中打开,过滤出DNS
4.1.1.5 根据捕获的数据包分析获取UDP的各信息
字段名 | 字段值 | 字段信息 |
---|---|---|
source port | 48325 | 源端口 |
destination | 53 | 目的端口 |
Length | 66 | UDP总长度 |
Checksum | 0x3c28 | UDP校验和 |
UDP payload | 58 bytes | UDP 有效负载 |
4.1.2.1 利用wireshark抓取QQ网络通信数据包
4.1.2.2 对抓取的数据包进行过滤,过滤出QQ网络通信数据包
4.1.2.3 对抓取的数据包进行QQ通信的UDP数据分析,填写表格内容
字段名 | 字段值 | 字段信息 |
---|---|---|
source port | 8000 | 源端口 |
destination | 4019 | 目的端口 |
Length | 55 | UDP总长度 |
Checksum | 0x0a22 | UDP校验和 |
UDP payload | 47 bytes | UDP 有效负载 |
- 通过分析实验结果,UDP报文结构由哪几部分组成,其功能是什么?
通过分析实验结果可知,UDP报文结构由源端口,目的端口,UDP总长度,以及UDP校验和组成。其功能分别为:
源端口号:一般是客户端程序请求时,由系统自动指定,端口号范围是065535,01023为知名端口号。
目的端口:一般是服务器的端口,一般是由编写程序的程序员自己指定,这样客户端才能根据ip地址和port成功访问服务器。
UDP长度:是指整个UDP数据报的长度,包括报头+载荷。
UDP校验和:用于检查数据在传输中是否出错,是否出现bit反转的问题,当进行校验时,需要在UDP数据报之前增加临时的伪首部。
在本次实验中,暂时没有遇到什么问题,不过最开始对UDP的组成等还不是太过熟悉,经过本次实验后有了更深刻的理解。
- 心得体会
通过本次实验,加深了我对UDP协议的理解。并且通过在wireshark中对数据报进行分析,我更加清晰的明白了UDP协议的组成及其特点,并充分了解了各部分的功能,更好的理解了UDP协议传输原理,对今后的学习和应用有着很大的帮助。
shark中对数据报进行分析,我更加清晰的明白了UDP协议的组成及其特点,并充分了解了各部分的功能,更好的理解了UDP协议传输原理,对今后的学习和应用有着很大的帮助。