tcp/ip学习之17: udp协议之环路通信

一、UDP的格式格式

UDP 数据报格式

字段名称 长度(字节) 作用描述
源端口号 2 标识发送数据的应用程序端口,通常由操作系统分配。
目的端口号 2 标识接收数据的应用程序端口,用于确定数据应交给哪个应用程序处理。
长度 2 表示整个UDP数据报的长度(包括首部和数据部分),最小值为8字节。
校验和 2 用于检测UDP数据报在传输过程中是否发生错误,覆盖UDP首部和数据部分。
数据 可变 实际传输的应用程序数据,长度可变。

二、UDP环路抓包
image

三、UDP数据分析

0000   02 00 00 00 45 00 00 29 fe 35 00 00 80 11 00 00
0010   c0 a8 01 68 c0 a8 01 68 03 09 13 89 00 15 e9 dd
0020   6c 69 73 74 5f 74 68 72 65 61 64 0d 0a

分析步骤

1. IP 层(前20字节)

IP 层的首部信息如下:

0000   02 00 00 00 45 00 00 29 fe 35 00 00 80 11 00 00
0010   c0 a8 01 68 c0 a8 01 68
  • 版本和首部长度(4位版本号 + 4位首部长度)
    • 45:表示IP协议版本4,首部长度为5个32位字(20字节)。
  • 服务类型(TOS)
    • 00:表示普通服务。
  • 总长度(16位)
    • 00 29:表示总长度为41字节(包括IP首部和UDP数据报)。
  • 标识(16位)
    • fe 35:标识字段,用于分片重组。
  • 标志和片偏移(3位标志 + 13位片偏移)
    • 00 00:表示不分片。
  • 生存时间(TTL)
    • 80:表示TTL为128。
  • 协议
    • 11:表示上层协议为UDP。
  • 首部校验和
    • 00 00:校验和字段,通常在发送时由发送方计算,在接收时由接收方验证。
  • 源IP地址
    • c0 a8 01 68:表示源IP地址为192.168.1.104。
  • 目的IP地址
    • c0 a8 01 68:表示目的IP地址为192.168.1.104。

2. UDP 层(接下来8字节)

UDP 层的首部信息如下:

0018   03 09 13 89 00 15 e9 dd
  • 源端口号
    • 03 09:表示源端口号为777。
  • 目的端口号
    • 13 89:表示目的端口号为5017。
  • 长度
    • 00 15:表示UDP数据报的总长度为21字节(包括UDP首部和数据部分)。
  • 校验和
    • e9 dd:表示UDP校验和为0xe9dd

3. 数据部分

UDP 数据部分如下:

0020   6c 69 73 74 5f 74 68 72 65 61 64 0d 0a
  • 数据内容
    • 6c 69 73 74 5f 74 68 72 65 61 64 0d 0a:表示ASCII字符串list_thread,后面跟着回车换行符(\r\n)。

总结

这个UDP数据报的详细信息如下:

  • 源IP地址:192.168.1.104
  • 目的IP地址:192.168.1.104
  • 源端口号:777
  • 目的端口号:5017
  • UDP数据报长度:21字节
  • UDP校验和0xe9dd
  • 数据内容list_thread\r\n

这个数据报可能是一个简单的命令或请求,发送方通过UDP协议向目标端口5017发送了一个字符串list_thread,可能是请求列出线程或其他相关信息。

目前,我对数据包头02 00 00 00没搞清楚是啥含义,可以是个伪帧头。至于到底有啥意思,有知道的大神请给我留言。

posted @ 2025-07-28 14:11  cupid8505  阅读(13)  评论(0)    收藏  举报