diff --git a/time/daytime_query.pl b/time/daytime_query.pl new file mode 100755 index 0000000..4fa0c99 --- /dev/null +++ b/time/daytime_query.pl @@ -0,0 +1,37 @@ +#!/usr/bin/perl +# Script Fragt den RFC 868 Timeserver ab +# und liefert die Zeit +# +# 20060721 Peter Baumann + +use IO::Socket; + +# Einen DaytimeServer anzapfen +$hostname = "172.16.1.40"; + +# Serverport +use constant SVPORT => 37; + +# Differenz zwischen 1.1.1900 (Time-Server) +# und 1.1.1970 (UNIX-Epoche) +use constant KORR => 2208988800; + +my $cur_time = &get_time; +print "Die Server Zeit ist $cur_time\n"; + +# Zeit vom anderen Server holen +sub get_time + { + my ($binarytime, $servertime); + my $ts_sock = new IO::Socket::INET ( + PeerAddr => $hostname, + PeerPort => SVPORT, + Proto => 'tcp') + or die "can't create local socket: $@\n"; + + read($ts_sock,$binarytime,4); + $ts_sock->close(); + $servertime = unpack('N',$binarytime); + $servertime = localtime($servertime - KORR); + return "$servertime"; + }