打印
[麦麦茶水间]

【每周分享】UDP协议的报文到底长啥样?不要急,Wireshark抓包告诉你!

[复制链接]
635|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dffzh|  楼主 | 2025-7-25 17:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 dffzh 于 2025-7-25 17:06 编辑

#申请原创#
@21小跑堂


UDP协议,即User Datagram Protocol,用户数据报协议,是一种面向无连接的、不可靠的、面向数据报、低开销和全双工的网络传输层通信协议,主要用于网络上收发数据,比如对实时性和低延迟要求高、且可以容忍少量数据丢失的场合,如实时游戏、视频会议和直播流媒体等。
UDP协议的报文格式如下图所示:

为了便于大家更好地理解UDP协议,作者通过Wireshark工具捕捉UDP报文,并对照UDP协议格式进行详细讲解。
抓取的报文数据如下图红色方框所示:

双击打开后,里面的标注了User Datagram Protocol的即为UDP报文,如下图红色方框所示:


1、源端口:Source Port
UDP协议中的端口是一种逻辑意义上的端口,端口号的范围为0~65535,即两个字节;
通信发起者的端口号,总共16位(2字节);
对应报文为0xf6d2,即63186:

2、目的端口:Destination Port
通信接收者的端口号,总共16位(2字节);
对应报文为0x0e76,即3702:

3、长度:Length
该字段为整个UDP协议包的长度,即包括源端口2字节+目的端口2字节+长度2字节+校验和2字节+数据可变字节=固定8字节+数据可变字节,该字段长度总共16位(2字节),即数据报最大为64KB;
对应报文为0x0444,即1092个字节=8字节+数据1084字节:

4、校验和:Checksum
这个字段大家应该都比较熟悉,经常在标准或自定义的通信协议中用来监测数据通信过程中是否出现错误报文,总共16位(2字节);UDP本身使用的是一种比较简单的校验和计算方式,在某些情况下,为了提高校验稳定性和准确性,可以考虑使用循环冗余校验(Cyclic Redundancy Check,CRC)算法,MD5算法,SHA-3算法或SHA-256算法等。
对应报文为0x520a:

5、数据(载荷):Data(Payload)
该字段即为UDP的数据部分,更专业的描述好像是有效载荷,如果有,则会显示在报文里面;
对应报文为Data内容:

由于UDP数据报的最大长度是64KB+8Byte,约等于64KB,如果需要传输超过64KB的数据报,可以通过以下方案进行:
数据分段(Data Segmentation):将数据分割成多个 UDP数据报后进行发送,并在接收端进行重新组装;
使用TCP协议:理论上TCP单次传输的字节数是没有上限的,如果需要传输大量数据或者超过UDP最大报文长度的数据,TCP协议无疑是更好的选择。
以上通过Wireshark工具捕捉的UDP协议报文对UDP协议的各个字段进行了详细阐述,希望可以加深大家对UDP协议的理解,如有不足之处,欢迎来贴补充和分享~~。

使用特权

评论回复
沙发
xuanhuanzi| | 2025-7-26 21:50 | 只看该作者
这抓包工具挺强的。

使用特权

评论回复
板凳
tobot| | 2025-7-27 18:32 | 只看该作者
典型udp应用:BFD、TFTP……

使用特权

评论回复
地板
dffzh|  楼主 | 2025-7-28 08:57 | 只看该作者
xuanhuanzi 发表于 2025-7-26 21:50
这抓包工具挺强的。

Wireshark软件的功能还是蛮强大的,包解析也比较方便直观。

使用特权

评论回复
5
dffzh|  楼主 | 2025-7-28 08:58 | 只看该作者
tobot 发表于 2025-7-27 18:32
典型udp应用:BFD、TFTP……

感谢分享,微信和QQ是不是也是基于UDP实现的?

使用特权

评论回复
6
我是一颗胖蘑菇| | 2025-7-28 16:15 | 只看该作者
非常详细的UDP协议解析,通过Wireshark抓包的方式让学习变得直观易懂,感谢分享!

使用特权

评论回复
7
tobot| | 2025-7-29 08:45 | 只看该作者
dffzh 发表于 2025-7-28 08:58
感谢分享,微信和QQ是不是也是基于UDP实现的?

最早期QQ是的,那时候还叫oicq,传输的都是明文,可以随便截取玩,现在不全是了。
微信从诞生之初就不是。

使用特权

评论回复
评论
dffzh 2025-7-29 08:51 回复TA
感谢回答!因为我记得QQ信息发出去后,有时候对方收不到信息,类似UDP这种。 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

99

主题

1102

帖子

20

粉丝