37 lines
886 B
Perl
Executable file
37 lines
886 B
Perl
Executable file
#!/usr/bin/perl
|
|
# Script Fragt den RFC 868 Timeserver ab
|
|
# und liefert die Zeit
|
|
#
|
|
# 20060721 Peter Baumann <dev@linuxnet.ch>
|
|
|
|
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";
|
|
}
|