systemadmin.es > Monitorización > check de nagios de puertos TCP con nmap

check de nagios de puertos TCP con nmap

Mediante el check_tcp que tenemos en nagios-plugins, se establece una conexión TCP completa en el puerto. Esto puede molestar a los procesos que están escuchando en el puerto. Usando nmap con la opción de salida parseable podemos hacer un check con conexiones medio abiertas (únicamente mandando un SYN, sin contestar al SYN,ACK

Para ello usaremos el TCP SYN scan de nmap (opción -sS) con la opción -oG para obtener una salida fácilmente parseable. Obtendremos una salida como la siguiente:

# Nmap 5.50 scan initiated Wed Oct 30 06:46:39 2013 as: nmap -sS -oG - -p 80 127.0.0.1
Host: 127.0.0.1 (croscat.perdiguer.com)     Status: Up
Host: 127.0.0.1 (croscat.perdiguer.com)     Ports: 80/closed/tcp//http///
# Nmap done at Wed Oct 30 06:46:39 2013 -- 1 IP address (1 host up) scanned in 0.04 seconds

Con lo que resulta muy simple parsear la salida para crear el check. Lo podemos bajar con:

svn export http://nagios-systemadmin.googlecode.com/svn/trunk/check_tcpsyn

Dicho check deberá ser ejecutado como root, ya que nmap lo necesita para realizar el TCP SYN scan. Las opciones son:

  • Con -h indicamos el host al que realizar el nmap
  • Con -p indicamos el puerto a realizarlo
  • Y, opcionalmente, con -e indicamos el estado que esperamos encontrar el puerto. Por defecto lo espera abierto

Podemos indicar open, closed y filtered como estado del puerto:

# ./check_tcpsyn -h 127.0.0.1 -p 80 
CRITICAL: port 80 is closed, but it's supposed to be open
# ./check_tcpsyn -h 127.0.0.1 -p 80 -e closed
OK: port 80 is closed
# ./check_tcpsyn -h 127.0.0.1 -p 80 -e filtered
CRITICAL: port 80 is closed, but it's supposed to be filtered

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>