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

相关推荐
CSCN新手听安3 分钟前
【linux】网络基础(三)TCP服务端网络版本计算器的优化,Json的使用,服务器守护进程化daemon,重谈OSI七层模型
linux·服务器·网络·c++·tcp/ip·json
REDcker37 分钟前
埋点系统设计:从成熟工具到自建方案
运维·服务器·网络·用户分析·埋点·埋点系统
任白1 小时前
OSI参考模型&&TCP/IP模型
网络协议
不做菜鸟的网工1 小时前
OSPF协议笔记整理
网络协议
优橙教育1 小时前
通信行业四大热门岗位解析:谁才是数字时代的黄金赛道?
网络·学习·5g
迎仔2 小时前
11-云网络与混合云运维:弹性数字世界的交通管理
网络·安全·web安全
Trouvaille ~2 小时前
【Linux】应用层协议设计实战(二):Jsoncpp序列化与完整实现
linux·运维·服务器·网络·c++·json·应用层
pitch_dark2 小时前
渗透测试系统基础篇——kali系统
网络·安全·web安全
独行soc2 小时前
2026年渗透测试面试题总结-20(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
EmbedLinX2 小时前
嵌入式之协议解析
linux·网络·c++·笔记·学习