clockdiff是专用于测量两台Linux服务器间时钟偏差的轻量工具,通过ICMP时间戳报文交换计算delta(目标时间−本机时间),精度达毫秒级,需目标主机响应ICMP且防火墙放行。

要确认两台Linux服务器之间是否存在时钟偏移偏差,不能只看各自date命令输出,必须通过网络时间探测工具实测往返延迟与时间差值,否则无法排除单机本地时间错误或时区混淆干扰。
用clockdiff直接测两机时间差
clockdiff是专为此场景设计的轻量工具,无需服务端配合,只需目标主机开启ICMP响应即可。它通过四次时间戳交换计算delta(目标时间 − 本机时间),精度达毫秒级。
在A服务器上执行:sudo clockdiff 192.168.10.5,其中192.168.10.5为B服务器IP。
输出中delta字段即为B相对于A的时间偏差(单位ms):若显示delta = 12ms/12ms,说明B比A快12毫秒;若为-45ms/-45ms,说明B比A慢45毫秒。
【注意:目标主机防火墙必须放行ICMP协议,否则会超时失败】
如遇“no reply”错误,先在B服务器执行ping -c 3 192.168.10.5验证基础连通性,再检查iptables -L INPUT | grep icmp是否拦截了echo-request。
用ntpdate模拟同步过程反推偏差
当clockdiff不可用或需更高置信度时,可借助ntpdate的校准反馈间接获取偏差值。该方法不修改时间,仅输出估算偏移。
方法一:在A服务器运行ntpdate -q 192.168.10.5,观察最后一行类似server 192.168.10.5, stratum 3, offset -0.045123 sec, delay 0.002345 sec的输出。
其中offset即A认为B比自己慢的秒数(负值表示B更慢,正值表示B更快),精度到微秒,但受网络抖动影响略低于clockdiff。
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
方法二:若B服务器未运行NTP服务,可在B上临时启用chronyd监听UDP 123端口:sudo chronyd -d -n -m -Q(前台调试模式),然后立即在A上执行ntpdate -q 192.168.10.5,获取一次快照值后Ctrl+C终止B端进程。
用chronyc跨机对比跟踪状态
若两台服务器均已部署chronyd且配置了相同上游NTP源,可通过比对各自tracking结果判断相对漂移趋势。
第一步:在A服务器执行chronyc tracking,记录Offset和Skew值;
第二步:在B服务器执行同样命令,记录对应数值;
第三步:计算两机Offset之差(B.Offset − A.Offset),该差值即当前时刻两机系统时钟的相对偏差估值;
第四步:持续每10分钟重复前三步,若差值绝对值随时间线性增大,说明其中一台存在显著频率漂移而非单纯同步延迟。
这一步的关键在于:chronyd的Offset反映的是本机相对于上游源的瞬时偏差,两机同源时,它们的Offset差值就近似等于彼此之间的实际偏差。










