Ejemplo n.º 1
0
    args = parser.parse_args()

    #prepare directory if workdir directory contains no files or if we are asked to do it.
    if args.prepare or len(os.listdir(args.workdir)) == 0:
        GlastopfHoneypot.prepare_environment(args.workdir)

    conf_parser = ConfigParser()
    if not os.path.isfile("glastopf.cfg"):
        sys.exit("Could not find configuration file: glastopf.cfg")
    conf_parser.read("glastopf.cfg")
    if conf_parser.getboolean("logging", "filelog_enabled"):
        logfile = conf_parser.get("logging", "logfile")
    else:
        logfile = None
    logconsole = conf_parser.getboolean("logging", "consolelog_enabled")
    logger = logging.getLogger()
    setup_logging(logconsole, logfile)

    host = conf_parser.get("webserver", "host")
    port = conf_parser.getint("webserver", "port")

    honeypot = GlastopfHoneypot(work_dir=args.workdir)
    honeypot.start_background_workers()
    wsgi_wrapper = GlastopfWSGI(honeypot)

    try:
        WSGIServer((host, port), wsgi_wrapper.application, log=None).serve_forever()
    except KeyboardInterrupt as ex:
        honeypot.stop_background_workers()