security-scripts/time/daytime_query.pl

38 lines
886 B
Perl
Raw Normal View History

2013-06-04 15:57:24 +02:00
#!/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";
}