File: //lib/python2.7/site-packages/lap/tcp.py
import socket
from datetime import datetime
socket.setdefaulttimeout(5)
def __run__(params):
try:
maxtime = params.get("maxtime",0)
if params.get("type_socket") == 'unix':
now = datetime.now()
connection = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
connection.connect(params.get("unix_socket"))
connection.close()
else:
connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
now = datetime.now()
connection.connect((params.get("hostname", "localhost"), params.get("port")))
if params.get("banner_monitoring") == 'true':
recvdata = connection.recv(1024)
connection.close()
dt = datetime.now() - now
if maxtime > 0 and dt.seconds > maxtime:
return [2, 'CRITICAL: banner time exceeded in %d max expected were %d' % (dt.seconds,maxtime)]
else:
connection.close()
except socket.timeout:
return [2, 'CRITICAL: Socket timeout']
except socket.gaierror:
return [2, 'CRITICAL: Unable to resolve domain']
except socket.error, e:
return [2, 'CRITICAL: Socket error: %s' % str(e)]
except Exception, e:
return [2,'CRITICAL: %s' % repr(e)]
else:
return [0, "OK"]