Пример #1
0
def run():

    back = False

    while back == False:
        menu.print_config()
        prompt = get_input_to_lower()

        if prompt.strip() == "back":
            back = True
            continue

        if prompt.strip() == "config":
            menu.print_config_values()
            continue

        if prompt.strip() != "":
            log(action_logging_enum=WARNING,
                logging_text="NO COMMAND DETECTED")

    return
Пример #2
0
# initial command setup
prompt = "INITIAL"

# log system initialisation
log_system_run()

# initial database creation if set in program_config.py
if DATABASE_ON_START:
    comp_database.run(do_download_alexa=False,
                      do_download_phish=True,
                      do_query_alexa=False)

# start loop until exit
while EXIT == False:
    if prompt.strip() != "": menu.print_menu()
    prompt = get_input_to_lower()

    # print exit
    if prompt.strip() == "exit":
        EXIT = True
        menu.print_exit()
        continue

    # print configuration menu
    if prompt.strip() == "config":
        main_config.run()
        continue

    # predict url with multi filter approach
    if prompt.startswith("predict"):
        url = prompt.split("predict")[1]
Пример #3
0
def run():

    back = False
    signature = False
    content = False
    lexical = False

    while back == False:
        menu.print_features()
        prompt = get_input_to_lower()

        if prompt.strip() == "back":
            back = True
            continue

        if prompt.strip() == "extract":

            val_sets = False
            back_ex = False
            while back_ex == False:
                menu.print_feature_extract(signature=signature,
                                           content=content,
                                           lexical=lexical,
                                           val_sets=val_sets)
                prompt = get_input_to_lower()

                if prompt.strip() == "back":
                    back_ex = True
                    continue

                if prompt.strip() == "set signature true":
                    signature = True
                    log(action_logging_enum=INFO,
                        logging_text="Signature extraction set to: True")
                    continue

                if prompt.strip() == "set signature false":
                    signature = False
                    log(action_logging_enum=INFO,
                        logging_text="Signature extraction set to: False")
                    continue

                if prompt.strip() == "set content true":
                    content = True
                    log(action_logging_enum=INFO,
                        logging_text="Content extraction set to: True")
                    continue

                if prompt.strip() == "set content false":
                    content = False
                    log(action_logging_enum=INFO,
                        logging_text="Content extraction set to: False")
                    continue

                if prompt.strip() == "set lexical true":
                    lexical = True
                    log(action_logging_enum=INFO,
                        logging_text="Lexical extraction set to: True")
                    continue

                if prompt.strip() == "generate val-sets":
                    val_sets = not (val_sets)
                    log(action_logging_enum=INFO,
                        logging_text="generate validation sets set to: {}".
                        format(val_sets))
                    continue

                if prompt.strip() == "set lexical false":
                    lexical = False
                    log(action_logging_enum=INFO,
                        logging_text="Lexical extraction set to: False")
                    continue

                if prompt.strip() == "run":
                    comp_feature_extraction.run(content=content,
                                                lexical=lexical,
                                                signature=signature,
                                                val_sets=val_sets)
                    continue

                if prompt.strip() != "":
                    log(action_logging_enum=WARNING,
                        logging_text="NO COMMAND DETECTED")

        if prompt.strip() == "select":
            lexical = False
            content = False
            back_se = False
            while back_se == False:
                menu.print_feature_select(content=content, lexical=lexical)
                prompt = get_input_to_lower()

                if prompt.strip() == "back":
                    back_se = True
                    continue

                if prompt.strip() == "select content true":
                    content = True
                    log(action_logging_enum=INFO,
                        logging_text="Content selection set to: True")
                    continue

                if prompt.strip() == "select content false":
                    content = False
                    log(action_logging_enum=INFO,
                        logging_text="Content selection set to: False")
                    continue

                if prompt.strip() == "select lexical true":
                    lexical = True
                    log(action_logging_enum=INFO,
                        logging_text="Lexical selection set to: True")
                    continue

                if prompt.strip() == "select lexical false":
                    lexical = False
                    log(action_logging_enum=INFO,
                        logging_text="Lexical selection set to: False")
                    continue

                if prompt.strip() == "run":
                    comp_feature_selection.run(content=content,
                                               lexical=lexical)
                    continue

                if prompt.strip() != "":
                    log(action_logging_enum=WARNING,
                        logging_text="NO COMMAND DETECTED")

        if prompt.strip() != "":
            log(action_logging_enum=WARNING,
                logging_text="NO COMMAND DETECTED")

    return
Пример #4
0
def run():

    back = False

    while back == False:
        menu.print_lexical_models()
        prompt = get_input_to_lower()

        if prompt.strip() == "back":
            back = True
            continue

        if prompt.strip() == "rf":
            back_2 = False
            optimize = False
            while back_2 == False:
                menu.print_rf(optimize)
                prompt = get_input_to_lower()

                if prompt.strip() == "back":
                    back_2 = True
                    continue

                if prompt.startswith("optimize"):
                    if prompt.split(" ")[1] == "true":
                        optimize = True
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        continue

                    if prompt.split(" ")[1] == "false":
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        optimize = False
                    continue

                if prompt.strip() == "score":
                    rf.load_last_score()

                if prompt.strip() == "train":
                    rf.train_model(do_optimize=optimize)
                    continue

                if prompt.strip().startswith("predict"):
                    rf.predict_url(prompt.strip().split(" ")[1])
                    continue

                if prompt.strip() != "":
                    log(action_logging_enum=WARNING,
                        logging_text="NO COMMAND DETECTED")
            continue

        if prompt.strip() == "xgb":
            back_2 = False
            optimize = False
            while back_2 == False:
                menu.print_xgb(optimize)
                prompt = get_input_to_lower()

                if prompt.strip() == "back":
                    back_2 = True
                    continue

                if prompt.startswith("optimize"):
                    if prompt.split(" ")[1] == "true":
                        optimize = True
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        continue

                    if prompt.split(" ")[1] == "false":
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        optimize = False
                    continue

                if prompt.strip() == "score":
                    xgb.load_last_score()

                if prompt.strip() == "train":
                    xgb.train_model(do_optimize=optimize)
                    continue

                if prompt.strip().startswith("predict"):
                    xgb.predict_url(prompt.strip().split(" ")[1])
                    continue

                if prompt.strip() != "":
                    log(action_logging_enum=WARNING,
                        logging_text="NO COMMAND DETECTED")
            continue

        if prompt.strip() == "ab":
            back_2 = False
            optimize = False
            while back_2 == False:
                menu.print_ab(optimize)
                prompt = get_input_to_lower()

                if prompt.strip() == "back":
                    back_2 = True
                    continue

                if prompt.startswith("optimize"):
                    if prompt.split(" ")[1] == "true":
                        optimize = True
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        continue

                    if prompt.split(" ")[1] == "false":
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        optimize = False
                    continue

                if prompt.strip() == "score":
                    ab.load_last_score()

                if prompt.strip() == "train":
                    ab.train_model(do_optimize=optimize)
                    continue

                if prompt.strip().startswith("predict"):
                    ab.predict_url(prompt.strip().split(" ")[1])
                    continue

                if prompt.strip() != "":
                    log(action_logging_enum=WARNING,
                        logging_text="NO COMMAND DETECTED")
            continue

        if prompt.strip() == "dt":
            back_2 = False
            optimize = False
            while back_2 == False:
                menu.print_dt(optimize)
                prompt = get_input_to_lower()

                if prompt.strip() == "back":
                    back_2 = True
                    continue

                if prompt.startswith("optimize"):
                    if prompt.split(" ")[1] == "true":
                        optimize = True
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        continue

                    if prompt.split(" ")[1] == "false":
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        optimize = False
                    continue

                if prompt.strip().lower() == "score":
                    dt.load_last_score()

                if prompt.strip().lower() == "train":
                    dt.train_model(do_optimize=optimize)
                    continue

                if prompt.strip().startswith("predict"):
                    dt.predict_url(prompt.strip().split(" ")[1])
                    continue

                if prompt.strip() != "":
                    log(action_logging_enum=WARNING,
                        logging_text="NO COMMAND DETECTED")
            continue

        if prompt.strip() == "knn":
            back_2 = False
            optimize = False
            while back_2 == False:
                menu.print_knn(optimize)
                prompt = get_input_to_lower()

                if prompt.strip() == "back":
                    back_2 = True
                    continue

                if prompt.startswith("optimize"):
                    if prompt.split(" ")[1] == "true":
                        optimize = True
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        continue

                    if prompt.split(" ")[1] == "false":
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        optimize = False
                    continue

                if prompt.strip() == "score":
                    knn.load_last_score()

                if prompt.strip() == "train":
                    knn.train_model()
                    continue

                if prompt.strip().startswith("predict"):
                    knn.predict_url(prompt.strip().split(" ")[1])
                    continue

                if prompt.strip() != "":
                    log(action_logging_enum=WARNING,
                        logging_text="NO COMMAND DETECTED")
            continue

        if prompt.strip() == "lr":
            back_2 = False
            optimize = False
            while back_2 == False:
                menu.print_lr(optimize)
                prompt = get_input_to_lower()

                if prompt.strip() == "back":
                    back_2 = True
                    continue

                if prompt.startswith("optimize"):
                    if prompt.split(" ")[1] == "true":
                        optimize = True
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        continue

                    if prompt.split(" ")[1] == "false":
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        optimize = False
                    continue

                if prompt.strip() == "score":
                    lr.load_last_score()

                if prompt.strip() == "train":
                    lr.train_model(do_optimize=optimize)
                    continue

                if prompt.strip().startswith("predict"):
                    lr.predict_url(prompt.strip().split(" ")[1])
                    continue

                if prompt.strip() != "":
                    log(action_logging_enum=WARNING,
                        logging_text="NO COMMAND DETECTED")
            continue

        if prompt.strip() == "svm":
            back_2 = False
            optimize = False
            while back_2 == False:
                menu.print_svm(optimize)
                prompt = get_input_to_lower()

                if prompt.strip() == "back":
                    back_2 = True
                    continue

                if prompt.startswith("optimize"):
                    if prompt.split(" ")[1] == "true":
                        optimize = True
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        continue

                    if prompt.split(" ")[1] == "false":
                        log(action_logging_enum=INFO,
                            logging_text="optimize set to: " + str(optimize))
                        optimize = False
                    continue

                if prompt.strip() == "score":
                    svm.load_last_score()

                if prompt.strip() == "train":
                    svm.train_model(do_optimize=optimize)
                    continue

                if prompt.strip().startswith("predict"):
                    svm.predict_url(prompt.strip().split(" ")[1])
                    continue

            if prompt.strip() != "":
                log(action_logging_enum=WARNING,
                    logging_text="NO COMMAND DETECTED")

    return
Пример #5
0
def run():
    back = False
    do_download_alexa = False
    do_download_phish = False
    do_query_alexa = False
    check_status_phishing = False
    check_status_benign = False

    while back == False:
        menu.print_database(do_download_alexa, do_download_phish,
                            do_query_alexa, check_status_phishing,
                            check_status_benign)
        prompt = get_input_to_lower()

        if prompt.strip() == "back":
            back = True
            continue

        if prompt.strip() == "run":
            comp_database.run(do_download_alexa, do_download_phish,
                              do_query_alexa, check_status_phishing,
                              check_status_benign)
            do_download_alexa = False
            do_download_phish = False
            do_query_alexa = False
            check_status_phishing = False
            check_status_benign = False
            continue

        if prompt.strip() == "set download alexa":
            do_download_alexa = not (do_download_alexa)
            log(action_logging_enum=INFO,
                logging_text="download Alexa set to: " +
                str(do_download_alexa))
            continue

        if prompt.strip() == "set download phishtank":
            do_download_phish = not (do_download_phish)
            log(action_logging_enum=INFO,
                logging_text="download Phishtank set to: " +
                str(do_download_phish))
            continue

        if prompt.strip().startswith("check status"):
            if prompt.__contains__("phish"):
                check_status_phishing = not check_status_phishing
                log(action_logging_enum=INFO,
                    logging_text="check status of phishing pages set to: " +
                    str(check_status_phishing))
                continue

            if prompt.__contains__("benign"):
                check_status_benign = not check_status_benign
                log(action_logging_enum=INFO,
                    logging_text="check status of benign pages set to: " +
                    str(check_status_benign))
                continue

        if prompt.strip().startswith("set query"):
            if prompt.split(" ")[2] == "true":
                do_query_alexa = True
                log(action_logging_enum=INFO,
                    logging_text="query login pages set to: " +
                    str(do_query_alexa))
                continue

            if prompt.split(" ")[2] == "false":
                do_query_alexa = False
                log(action_logging_enum=INFO,
                    logging_text="query login pages set to: " +
                    str(do_query_alexa))
                continue

        if prompt.strip() != "":
            log(action_logging_enum=WARNING,
                logging_text="NO COMMAND DETECTED")

    return