{self.template['protocol']} | " + table += f"{self.template['domain']} | " + table += f"{self.template['dst_ip']} | " + table += f"{self.template['dst_port']} | " + table += "
---|
{self.template['protocol']} | " + table += f"{self.template['domain']} | " + table += f"{self.template['dst_ip']} | " + table += f"{self.template['dst_port']} | " + table += "
---|
{self.template['protocol']} | " + table += f"{self.template['domain']} | " + table += f"{self.template['dst_ip']} | " + table += f"{self.template['dst_port']} | " + table += "
---|
{self.template['device_mac']}: {self.device['mac_address']}
"
+ header += f"{self.template['detection_methods']}: {'☑' if self.methods['iocs'] else '☐'} IOCs {'☑' if self.methods['heuristics'] else '☐'} Heuristics {'☑' if self.methods['active'] else '☐'} Active analysis
"
+ header += f"{self.template['capture_sha1']}: {self.capture_sha1}
"
+ header += f"{self.template['instance_uuid']}: {self.instance['instance_uuid']}
"
+ header += f"{self.template['report_generated_on']} {datetime.now().strftime('%d/%m/%Y - %H:%M:%S')}
"
+ if self.capinfos is not None:
+ header += f"{self.template['capture_duration']}: {self.capinfos['Capture duration'].split(' ')[0]} {self.template['seconds']}
"
+ header += f"{self.template['analysis_duration']}: {self.analysis_duration} {self.template['seconds']}
"
+ header += f"{self.template['packets_number']}: {self.capinfos['Number of packets']}
"
+ header += "
{}
".format( + alert["description"]) + alerts += "{}
".format( + alert["description"]) + alerts += "{}
".format( + alert["description"]) + alerts += "