From 79ac25dd4dad940b1792a659297f18069a14255a Mon Sep 17 00:00:00 2001 From: Klaus-Uwe Mitterer Date: Wed, 30 Mar 2016 18:15:30 +0200 Subject: [PATCH] Add closed port notifier --- portsopen.py | 13 +++++++++++++ porttools/__init__.py | 10 ++++++++++ 2 files changed, 23 insertions(+) create mode 100755 portsopen.py create mode 100644 porttools/__init__.py diff --git a/portsopen.py b/portsopen.py new file mode 100755 index 0000000..977dda8 --- /dev/null +++ b/portsopen.py @@ -0,0 +1,13 @@ +#!/usr/bin/python3 + +import time, setuptools, porttools, twitools + +hosts = setuptools.getListSetting("Ports", "hosts") +retry = int(setuptools.getSetting("Ports", "retry")) +two = twitools.twObject() + +for h in hosts: + if not porttools.isPortOpen(h[0], h[1]): + time.sleep(retry) + if not porttools.isPortOpen(h[0], h[1]): + two.tweet("@%s Port %s is not open on host %s!" % (h[2], h[1], h[0])) diff --git a/porttools/__init__.py b/porttools/__init__.py new file mode 100644 index 0000000..ef8ecd4 --- /dev/null +++ b/porttools/__init__.py @@ -0,0 +1,10 @@ +import socket + +def isPortOpen(host, port): + try: + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(1) + sock.connect((host, port)) + except: + return False + return True