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

相关推荐
sweet丶5 小时前
iOS开发必备的HTTP网络基础概览
网络协议·ios
云老大TG:@yunlaoda3605 小时前
华为云国际站代理商TaurusDB的成本优化体现在哪些方面?
大数据·网络·数据库·华为云
TG:@yunlaoda360 云老大5 小时前
华为云国际站代理商GeminiDB的企业级高可用具体是如何实现的?
服务器·网络·数据库·华为云
是娇娇公主~8 小时前
HTTPS【密钥交换+证书校验】流程讲解
网络·网络协议·面试·https·ssl
驰羽9 小时前
NAT模式下VMware的虚拟机DNS解析失败的问题解决
linux·网络·dns
誰能久伴不乏10 小时前
epoll 学习踩坑:`fcntl` 设置非阻塞到底用 `F_SETFL` 还是 `F_SETFD`?
linux·服务器·网络·c++·tcp/ip
北京耐用通信11 小时前
告别“蜘蛛网”接线!耐达讯自动化PROFIBUS 三路集线器让气缸布线“一拖三”的神操作
人工智能·物联网·网络协议·自动化·信息与通信
云川之下11 小时前
【网络】华为交换机S3700与S5700详解
服务器·网络·华为
小于晏11 小时前
基于Socket实现的主流网络协议汇总
网络·网络协议
tianyuanwo11 小时前
深入理解iptables:规则管理与匹配机制深度解析
网络·安全·web安全