ntpdate 通过 UDP 使用 NTP。普通的 HTTP CONNECT 隧道承载 TCP 流,因此配置 HTTP 代理并不会给 ntpdate 提供那条 UDP 路由。

当只有 HTTP 访问可用时,htpdate 是一个单独的工具,它根据 Web 服务器响应的时间戳来估算时间。如果它已经可用,仅查询的调用是:

htpdate -q -P proxy.example:8080 www.example.org

选择一个允许使用的代理,以及一个时钟适合该任务的参考服务器。代理地址的公开候选在 HTTP 代理列表中;该列表不提供可信的时间参考。-P 用于选择中间人;-q 在不改动时钟的情况下查询。客户端还支持多个参考 URL。

htpdate 会考虑仅复制一个 HTTP Date 头的 shell 管道不会考虑的问题,包括多个来源以及过滤不一致的结果。它仍然依赖参考服务器、响应处理和网络计时。

缓存的响应可能包含较早的 Date 值。单纯的 HTTP 时间戳也不是经过认证的时间。应把信任和精度要求与部署决策放在一起,而不是把任何可访问的网页当作网络时间服务的替代品。

如果组织提供内部 NTP 服务,使用该可访问的服务是另一条途径。查询时间与授权守护进程调整系统时钟是两项不同的操作。

相关文章