协议 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

相关推荐
en.en..1 天前
Linux 七大文件类型 详解
网络
IPdodo_1 天前
跨境 API 调用不稳定怎么办:出口、超时重试与链路监控的实践
网络·python·网络协议
xiaoye-duck1 天前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
广州宏帝箱包1 天前
出口箱包的包装标准:防潮、防摔、运输安全的设计要点
大数据·网络
彧azz1 天前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试
updayday8541 天前
离职域账号状态变更与Ping64操作记录核对
大数据·网络·数据库·安全·智能路由器
安易算力1 天前
PUE优化工程实践:从1.5到1.2的制冷架构与气流组织改造路径
网络·python·容器·架构·kubernetes
Ivanqhz1 天前
数据搬运是性能关键
java·服务器·网络·人工智能·深度学习
Julien20041 天前
自动挂载网络附加存储
linux·服务器·网络
K成长日志1 天前
BLE链路层-隐私保护
网络·物联网·蓝牙·iot·ble