diff options
author | Josef Gustafsson <josef.gson@gmail.com> | 2015-09-10 13:37:17 +0200 |
---|---|---|
committer | Josef Gustafsson <josef.gson@gmail.com> | 2015-09-10 13:37:17 +0200 |
commit | 1df8593e526d76449dc0be54b6aae755a4405e57 (patch) | |
tree | 5ba046a2567463777d7d19feffcf9aca90779178 /monitor/josef_experimental.py | |
parent | dbee1f90fc8e49c008bb9032c94eb8be6612c1de (diff) |
creating output dir if missing
Diffstat (limited to 'monitor/josef_experimental.py')
-rwxr-xr-x | monitor/josef_experimental.py | 84 |
1 files changed, 79 insertions, 5 deletions
diff --git a/monitor/josef_experimental.py b/monitor/josef_experimental.py index 10d48bb..14b8e99 100755 --- a/monitor/josef_experimental.py +++ b/monitor/josef_experimental.py @@ -4,15 +4,89 @@ import sys from josef_lib import * import leveldb +import argparse +import json from josef_leveldb import * +from datetime import datetime as dt -SEP = ";" -db = db_open() -res = db_lookup_domain(db, "*.google.com") -print res -print "Found " + str(len(res)) + " results" +parser = argparse.ArgumentParser(description="") +parser.add_argument('--domain', default=None, help="RTFM") +parser.add_argument('--log', default=None, help="RTFM") +parser.add_argument('--exclude-expired', action='store_true', help="RTFM") + +args = parser.parse_args() + +monitored_domains = [ + "google.com", + "preishelden.de", + "liu.se", + "nordu.net", + "symantec.com", +] + + + +if args.domain: + db = db_open() + raw = db_lookup_domain(db, args.domain) +else: + print "No domain selected!" + sys.exit() + +cur_time = dt.now() +count_valid = 0 +count_all = 0 +for item in raw: + # print item + '}', type(item) + entry = json.loads((item + '}').replace("'", '"')) + # print entry, type(entry) + success = True + not_after_time = dt.strptime(entry["not_after"], "%b %d %H:%M:%S %Y GMT") + not_before_time = dt.strptime(entry["not_before"], "%b %d %H:%M:%S %Y GMT") + + + if args.log: + if args.log in entry["log"]: + pass + else: + success = False + + if cur_time > not_after_time: + expired = True + elif cur_time < not_before_time: + expired = True + else: + expired = False + + # Exclude expired + if args.exclude_expired and expired: + success = False + + + # Set count matches + if success: + count_all += 1 + if not expired: + count_valid += 1 + + # Print matching + if success: + s = entry["subject"].split("CN=")[1] + \ + " certified by " + entry["issuer"].split("CN=")[1] + \ + " (" + entry["log"] + ") " + if expired: + print "(NOT VALID) " + s + else: + print "(VALID) " + s + + +print str(count_all) + " matches found." + + +# print res +# print "Found " + str(len(res)) + " results" # print db.Get("wush.net") # print db.Get("wush.net") |