check_telnet_response.pl
#!/usr/bin/perl
#
# checked Telnet-Port unserer Portmaster auf korrekte Response
#
# 2005 by OV
#
use IO::Socket;
my $line = "";
my $RemoteHost = $ARGV[0];
my $RemotePort = $ARGV[1];
my $CheckString = $ARGV[2];
local $SIG{ALRM} = sub { print "CRITICAL - Timeout waiting for correct response\n"; exit 2; };
alarm 6;
# print "Host " . $RemoteHost . " Port " . $RemotePort . " String " . $CheckString . "\n";
my $remote = IO::Socket::INET->new(
Proto => "tcp",
PeerAddr => $RemoteHost,
PeerPort => $RemotePort,
Timeout => 10,)
or die "CRITICAL - cannot connect to Port $RemotePort at $RemoteHost";
while (($line = <$remote>) && !($line =~ /$CheckString/)) {
# dummy-schleife solange durchlaufen bis der checkstring auftaucht
}
print "OK - Response received\n";
exit 0;