tanamonの稀に良く書く日記

KEEP CALM AND DRINK BEER

HTP(HTTP Time Protocol)を使ってNTPが使えない環境でも時刻あわせをする

はじめに

NTPが使えなかったのです。

# ntpdate -d time.nist.gov
24 Nov 16:25:14 ntpdate[22683]: ntpdate 4.2.4p7@1.1607-o Wed Oct 21 14:31:13 UTC 2009 (1)
Looking for host time.nist.gov and service ntp
host found : time.nist.gov
transmit(192.43.244.18)
transmit(192.43.244.18)
transmit(192.43.244.18)
transmit(192.43.244.18)
transmit(192.43.244.18)
192.43.244.18: Server dropped: no data
server 192.43.244.18, port 123
stratum 0, precision 0, leap 00, trust 000
refid [192.43.244.18], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Thu, Feb  7 2036 15:28:16.000
originate timestamp: 00000000.00000000  Thu, Feb  7 2036 15:28:16.000
transmit timestamp:  ceb608de.18c1c651  Tue, Nov 24 2009 16:25:18.096
filter delay:  0.00000  0.00000  0.00000  0.00000
         0.00000  0.00000  0.00000  0.00000
filter offset: 0.000000 0.000000 0.000000 0.000000
         0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000

24 Nov 16:25:19 ntpdate[22683]: no server suitable for synchronization found

どうやら123/UDPポートが空いていないっぽい。

そこでHTTP Time Protocol

CleverVest.com is for sale!
HTTPのレスポンスヘッダのDateを見て時刻をあわせてくれるものらしい。

さっそく使ってみる。

# wget http://www.clevervest.com/htp/archive/perl/htp-0.9.3.tar.gz
# tar xzvf htp-0.9.3.tar.gz
# cd htp-0.9.3/sbin
# date
20091124日 火曜日 16:53:06 JST
# ./htpdate nict.go.jp
Testhttp://nict.go.jp => -97 second(s)
Setting time...
# date
20091124日 火曜日 16:51:29 JST

97秒も未来をみていた。