MT#6389 Add support of UDP ports check

mr3.3.1
Alexander Lutay 12 years ago
parent 1e544925b4
commit aaabef088b

@ -37,6 +37,7 @@ my $config = LoadFile($Bin.'/test-server.yaml');
plan 'skip_all' => "no configuration sections for 'open-ports'"
if (not $config or not $config->{'open-ports'});
my $netstat=`netstat -anu`;
exit main();
@ -65,6 +66,10 @@ sub main {
foreach my $port (keys %{$connect->{$host}}) {
my $service = $connect->{$host}->{$port} || '';
my $proto = 'tcp';
if ($port =~ /([0-9]+)\/(.*)/smg) {
$port = $1;
$proto = $2;
};
my $socket = IO::Socket::INET->new(
PeerAddr => $host,
@ -72,30 +77,24 @@ sub main {
Proto => $proto,
);
# check for closed ports
if ($proto eq "udp") { ## UDP Socket
my ($result)=$netstat=~/\w+\s+\d+\s+\d+\s+[\d.:]+:$port\s+[\d:.]+:\*/;
if ($service eq 'closed') {
ok( !$result, "connect to $host port $port/$proto ($service) is filtered" );
} else {
ok( $result, "connect to $host port $port/$proto ($service)" );
};
next;
};
# TCP socket: check for closed ports
if ($service eq 'closed') {
ok(
!$socket,
'connect to '
.$host
.' port '
.$port
.'/'
.$proto
.' filtered'
);
ok( !$socket, "connect to $service on $host port $port/$proto ($service) is filtered" );
next;
}
ok(
$socket,
'connect to '
.$host
.' port '
.$port
.'/'
.$proto
);
ok( $socket, "connect to $service on $host port $port/$proto ($service)" );
# skip rest if we failed to connect
if (not defined $socket) {
@ -130,13 +129,7 @@ sub main {
'service' => $service
)
},
'check '
.$service
.' service default response with proto '
.$proto
.' port '
.$port
.' on host '
"check $service service default response with proto $proto port $port on host"
);
}
}

@ -62,36 +62,38 @@ running-processes:
open-ports:
connect:
localhost:
# TCP ports list
22: ssh
25: exim4
80: http
# 23: ntpd # TODO udp
# 161: snmpd TODO udp
443: https
# 694: heartbeat # TODO udp
443: https$
1443: https
2443: https
1444: https
# 2222: mediaproxy # TODO udp
# 2223: mediaproxy # TODO udp
2443: https
2812: monit
3306: mysqld
# 4569: asterisk # TODO udp
# 5040: sems # TODO udp
5060: kamailio
5062: kamailio
# 5070: asterisk # TODO udp
# 5080: sems # TODO udp
5222: prosody
5269: prosody
24009: glusterfsd
8090: sems
# 25826: collectd + kamailio # TODO udp
# 40297: collectd # TODO udp
# 45673: heartbeat # TODO udp
# 48296: collectd + kamailio # TODO udp
# 50474: heartbeat # TODO udp
7777: closed # test for closed TCP port check, nothing there
24009: glusterfsd
# UDP ports list
123/udp: ntpd
161/udp: snmpd
694/udp: heartbeat
2222/udp: mediaproxy
2223/udp: mediaproxy
4569/udp: asterisk
5040/udp: sems
5070/udp: asterisk
5080/udp: sems
5222: prosody
5269: prosody
7777/udp: closed # test for closed UDP port check, nothing there
24009: glusterfsd
25826/udp: collectd
192.168.255.251:
22: ssh
80: http

Loading…
Cancel
Save