NTP 时钟漂移抓包分析——时间同步失败、偏移和抖动
如何分析数据包捕获中的 NTP 时间同步故障,包括偏移、延迟、抖动、丢失响应、错误的服务器、防火墙阻止和时钟漂移症状。
时间同步失败会产生奇怪的次要问题:TLS 证书无效、日志无序、Kerberos 失败、数据库复制抱怨、分布式跟踪具有误导性以及摄像机或录像机显示错误的时间戳。当系统时间看起来错误但需要网络证据时,用户搜索“NTP时钟漂移pcap”、“时间同步失败数据包捕获”、“NTP无响应UDP 123”、“NTP偏移延迟抖动”和“为什么服务器时间漂移”。
数据包捕获可以显示 NTP 请求是否离开、响应是否返回、哪个服务器应答、客户端轮询的频率以及网络延迟或数据包丢失是否会影响同步。
PCAP 手术非常有用,因为 NTP 数据包很小,并且在修剪较大的故障排除捕获时很容易意外删除。
NTP 使用什么
NTP 通常使用 UDP 端口 123。客户端向时间服务器发送请求,服务器回复用于估计偏移和延迟的时间戳。
如果请求离开但没有响应返回,则问题可能是防火墙、路由、服务器可达性、DNS 或本地策略。如果响应到达但时间仍然漂移,请检查服务器选择、轮询行为和系统时钟行为。
常见症状
NTP 问题显示为:
- 时间会流逝几分钟或几小时。
- TLS 证书“尚未有效”或“已过期”错误。
- Kerberos 身份验证失败。
- 来自多个系统的日志不排队。
- 不同捕获的数据包时间戳看起来不一致。
- NVR/摄像机录像显示时间错误。
- 分布式跟踪跨度显示为负值或无序。
根本原因可能是 NTP,但应用程序报告更高层故障。
数据包证据
捕获:
- 客户端 NTP 请求。
- 服务器响应。
- 源和目标 IP。
- 轮询间隔。
- 地层可见。
- 已解码的跳跃/状态字段。
- 往返时间。
- 缺少回复。
- ICMP 不可达消息。
如果客户端发送到错误的服务器,跟踪会揭示这一点。
防火墙和 NAT 问题
UDP 123 可能会被阻止出站、入站或通过策略。某些网络允许 DNS 和 HTTPS,但阻止 NTP。某些环境强制客户端使用内部时间服务器。
症状:
- 请求重复但没有响应。
- 出现 ICMP 端口无法访问。
- 外部 NTP 被阻止,内部 NTP 正常。
- VPN 改变服务器可达性的时间。
时间质量与可达性
服务器可以应答,但仍然不是一个好的时间源。 NTP 质量取决于服务器稳定性、网络延迟、抖动、层和客户端纪律行为。单独的 pcap 可能无法证明振荡器质量,但它可以显示数据包计时和服务器选择。
对于严重的偏差,请将数据包证据与操作系统时间同步日志结合起来。
Checklist
使用此工作流程:
- 过滤 UDP 端口 123。
- 识别已配置的 NTP 服务器。
- 检查请求是否离开。
- 检查响应是否返回。
- 检查响应时间。
- 查找 ICMP 不可达。
- 比较内部与外部 NTP。
- 修剪较大的跟踪时保留 NTP 数据包。
- 与系统时间同步日志关联。
- 如果比较捕获,请确保捕获主机时间同步。
最终诊断
NTP数据包分析可以区分时间流量阻塞、服务器不可达、服务器配置错误、响应丢失、定时路径不良以及时钟漂移引起的高层症状。
PCAP 手术有助于保存小的 NTP 证据,这些证据通常可以解释更大的身份验证、TLS、日志记录和分布式系统问题。