コード例 #1
0
def main():
    PATHS.ROOT_PATH = module_path()
    PATHS.PLUGIN_PATH = os.path.join(PATHS.ROOT_PATH, "pocs")
    PATHS.OUTPUT_PATH = os.path.join(PATHS.ROOT_PATH, "output")
    PATHS.DATA_PATH = os.path.join(PATHS.ROOT_PATH, "data")

    patch_all()
    logger.info("Hello W12SCAN !")

    # domain域名整理(统一格式:无论是域名还是二级目录,右边没有 /),ip cidr模式识别,ip整理

    # 访问redis获取目标
    def redis_get():
        list_name = "w12scan_scanned"
        while 1:
            target = redis_con.blpop(list_name)[1]
            scheduler.put_target(target)

        # redis_get()

    def debug_get():
        target = "http://stun.tuniu.com"
        scheduler.put_target(target)

    def node_register():
        first_blood = True
        while 1:
            if first_blood:
                dd = {
                    "last_time": time.time(),
                    "tasks": 0,
                    "running": 0,
                    "finished": 0
                }
                redis_con.hmset(NODE_NAME, dd)
                first_blood = False
            else:
                redis_con.hset(NODE_NAME, "last_time", time.time())
            time.sleep(50 * 5)

    scheduler = Schedular(threadnum=THREAD_NUM)
    scheduler.start()
    # 启动任务分发调度器
    if DEBUG:
        func_target = debug_get
    else:
        func_target = redis_get

    # 与WEB的通信线程
    node = threading.Thread(target=node_register)
    node.start()

    # 队列下发线程
    t = threading.Thread(target=func_target, name='LoopThread')
    t.start()

    try:
        scheduler.run()
    except KeyboardInterrupt:
        logger.info("User exit")
コード例 #2
0
def main():
    PATHS.ROOT_PATH = moudle_path()
    print(PATHS.ROOT_PATH)
    PATHS.PLUGIN_PATH = os.path.join(PATHS.ROOT_PATH, "pocs")
    print(PATHS.PLUGIN_PATH)
    PATHS.OUTPUT_PATH = os.path.join(PATHS.ROOT_PATH, "output")
    print(PATHS.OUTPUT_PATH)
    PATHS.DATA_PATH = os.path.join(PATHS.ROOT_PATH, "data")
    print(PATHS.DATA_PATH)

    patch_all()

    logger.info("Hello W12SCAN !")

    # domain域名整理(统一格式:无论是域名还是二级目录,右边没有 /),ip cidr模式识别,ip整理
    # 访问redis获取目标

    schedular.start()
    # 启动任务分发调度器
    if DEBUG:
        func_target = debug_get
    else:
        func_target = redis_get

    # 与WEB的通信线程
    node = threading.Thread(target=node_register)
    node.start()

    # 队列下发线程
    t = threading.Thread(target=func_target, name='LoopThread')
    t.start()
    try:
        schedular.run()
    except KeyboardInterrupt:
        logger.info("User exit")
コード例 #3
0
ファイル: option.py プロジェクト: zxc2007/w13scan
def init(root, cmdline):
    cinit(autoreset=True)
    setPaths(root)
    banner()
    _init_conf()  # 从config.py读取配置信息
    _merge_options(cmdline)  # 从cmdline读取配置
    _set_conf()
    initKb()
    initPlugins()
    _init_stdout()
    patch_all()
コード例 #4
0
def init(root, cmdline):
    # 一个命令行输入彩色文字的模块
    cinit(autoreset=True)
    # 设置各种目录变量
    setPaths(root)
    banner()
    _init_conf()  # 从config.py读取配置信息
    # 将命令行中的参数合并进 lib.core.data.conf  AttribDict
    _merge_options(cmdline)  # 从cmdline读取配置
    # 配置监听接口和 代理
    _set_conf()
    initKb()
    # 初始化插件
    initPlugins()
    _init_stdout()
    patch_all()
コード例 #5
0
ファイル: option.py プロジェクト: zztytu/w13scan
def init(root):
    banner()
    _set_path(root)
    _init_kb()
    _init_plugins()
    patch_all()