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)
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())
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())