协议 NTP UDP 获取实时网络时间

1.使用串口调试工具 协议选择UDP,请求报文是十六进制0x1b开头47个0 总共四十八字节

bash 复制代码
1b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

返回时间

🔹 1. 报文数据

1C 02 00 E7 00 00 00 52 00 00 02 A1 0A 89 35 59 EC 84 C4 5D 75 64 F8 E4 00 00 00 00 00 00 00 00 EC 84 C4 66 76 E7 57 25 EC 84 C4 66 76 E7 B9 D0

这正好 48 字节 ,标准 NTP 响应包。

我们只关心 Transmit Timestamp(偏移 40--47 字节)。


🔹 2. 定位字段

  • Reference Timestamp (16--23):EC 84 C4 5D 75 64 F8 E4

  • Originate Timestamp (24--31):00 00 00 00 00 00 00 00

  • Receive Timestamp (32--39):EC 84 C4 66 76 E7 57 25

  • Transmit Timestamp (40--47):EC 84 C4 66 76 E7 B9 D0 ✅ 我们要的就是它


🔹 3. 拆解 Transmit Timestamp

EC 84 C4 66 76 E7 B9 D0

  • 秒字段(前 4 字节):EC 84 C4 66 = 0xEC84C466 = 3968124006

  • 小数字段(后 4 字节):76 E7 B9 D0 = 0x76E7B9D0 = 1992276688


🔹 4. 转换为 Unix 时间戳

NTP 时间起点 = 1900-01-01

Unix 时间起点 = 1970-01-01

偏移量 = 2208988800

Unix 秒 = 3968124006 - 2208988800 = 1759135206 秒

换算成毫秒:

毫秒小数 = (1992276688 * 1000) / 4294967296 ≈ 464 ms Unix 毫秒 = 1759135206 * 1000 + 464 = 1759135206464 ms


🔹 5. 时间结果

  • UTC 时间:2025-09-29 08:40:06.464

  • 北京时间 (UTC+8):2025-09-29 16:40:06.464

  • 东京时间 (UTC+9):2025-09-29 17:40:06.464


✅ 这帧报文里的 Transmit Timestamp 对应北京时间:
2025 年 9 月 29 日 16:40:06.464

相关推荐
锅挤20 分钟前
计算机网络复习(第五章):传输层
网络·计算机网络
mounter62527 分钟前
深入理解 Linux 网络新特性:netkit 中的 RX/TX Queue Leasing 与 TCP Devmem
linux·服务器·网络·tcp/ip·kernel
空中海1 小时前
02. 静态逆向、Manifest 分析与 Smali 重打包
服务器·网络·windows
时空自由民.1 小时前
CAN ,CANFD,EtherCAT介绍
网络协议·计算机网络
计算机安禾1 小时前
【计算机网络】第3篇:网络编程范式的演进——阻塞IO、非阻塞IO与IO多路复用的比较研究
网络·计算机网络
炘爚1 小时前
TCP三次握手和四次挥手
服务器·网络·tcp/ip
你的保护色1 小时前
光纤到户常用架构介绍(无源光网络PON,有源光网络AON)
网络·架构
Gh0st_Lx1 小时前
【6】为什么有了 HTTP/1.1 ,还要 HTTP/2 和 HTTP/3
网络协议·http·php
学编程就要猛2 小时前
JavaEE初阶:网络原理-HTTP(下)
网络·网络协议·http
xiaohe072 小时前
C#数据库操作系列---SqlSugar完结篇
网络·数据库·c#