Exemple #1
0
def get_data():
    ''' repeatedly send updated packet count data to socket'''
    while not thread_stop_event.isSet():
        socketio.emit("data", {
            "total_packets": Vault.get_total_packet_count(),
            "total_streams": len(Vault.get_session_headers()),
            "total_flagged": len(Vault.get_flagged())
        },
                      namespace="/socket")
        socketio.sleep(0.01)
Exemple #2
0
def flagged():
    ''' If method == GET , returns flagged page
        If method == POST, returns payload of flagged packet
    '''
    if request.method == "POST":
        key = request.json["data"].strip()
        flagged_dict = Vault.get_flagged()

        flagged_obj = flagged_dict[key]
        if flagged_obj.identifier == "payload":
            return flagged_obj.payload

        strings_list = []
        for i in range(len(flagged_obj.strings)):
            strings_list.append(
                (flagged_obj.strings[i][0], flagged_obj.strings[i][0],
                 flagged_obj.strings[i][2].decode('utf-8')))

        return jsonify(strings_list)
    return render_template("flagged.html",
                           flagged_packets=Vault.get_flagged(),
                           status=Vault.get_saving())
Exemple #3
0
def network():
    ''' If method == GET , returns network mapping page 
        If method == POST, returns mapping_dict,ip_list,mal_list for network mapping
    '''
    if request.method == "POST":
        mal_list = []
        mapping, ip_list = Vault.get_mapping()
        flagged_dict = Vault.get_flagged()
        for _, obj in flagged_dict.items():
            if 'endpoint' in obj.identifier:
                for match in obj.strings:
                    mal_list.append(match[2].decode('utf-8'))

        return jsonify(mapping, ip_list, mal_list)

    return render_template("network.html",
                           status=Vault.get_saving(),
                           data=Vault.get_mapping())