clockdiff-检测两台linux主机的时间差-CSDN博客

308 阅读2分钟

概述

在IP报文的首部和ICMP报文的首部都可以放入时间戳数据,clockdiff程序是使用时间戳来测算目的主机和本地主机的系统时间差。

选项

  • -o 使用IP时间戳选项来测量系统时间差。时间戳只用3个。
    这里写图片描述
  • -o1使用IP时间戳选项来测量系统时间差。用4个时间戳。如果-o和-o1都没有设置,那么就是用ICMP时间戳来测试系统时间差。
    这里写图片描述

使用

197entel1 采用的是上海时间, 198entel采用的是LaPaz时间。

#有时差的机器
[root@entel1 ~]# clockdiff 10.45.7.198
..
host=10.45.7.198 rtt=562(280)ms/0ms delta=27916352ms/27916352ms Mon Sep 26 01:14:22 2016
[root@entel1 ~]# clockdiff -o 10.45.7.198
..
host=10.45.7.198 rtt=562(280)ms/0ms delta=27916356ms/27916356ms Mon Sep 26 01:29:41 2016
[root@entel1 ~]# clockdiff -o1 10.45.7.198
.
host=10.45.7.198 rtt=750(187)ms/0ms delta=27916356ms/27916356ms Mon Sep 26 01:29:47 2016

#上面是测试一个RTT较大的目的主机和本地主机的系统时间差。不过在使用clockdiff的时候,需要一点运气,因为很多路由会忽略ICMP或IP时间戳。

#换台和主机时间一直的机器(198内部的一个docker容器):
root@/root>clockdiff 10.45.7.198
.
host=10.45.7.198 rtt=750(187)ms/0ms delta=0ms/0ms Mon Sep 26 02:15:33 2016

delta = 目标主机减当前主机时间 ,时间单位是毫秒

27916356ms = 27916356/1000/60 min = 27916356/1000/60/60h = 7.75h

流程分析

这里写图片描述

参考文章:深入理解iputils网络工具-第3篇 clockdiff:时间比对程序