|
@@ -0,0 +1,27 @@
|
|
|
|
+import xml.etree.ElementTree as ET
|
|
|
|
+import csv
|
|
|
|
+
|
|
|
|
+# def parseCSV:
|
|
|
|
+
|
|
|
|
+def parse_csv(file: str):
|
|
|
|
+ # build a tree structure
|
|
|
|
+ root = ET.Element("mmcommunication")
|
|
|
|
+
|
|
|
|
+ # parse the csvFile into reader
|
|
|
|
+ with open(file) as csvFile:
|
|
|
|
+ reader = csv.reader(csvFile, delimiter=",")
|
|
|
|
+ # loop through the parsed file, creating packet-elements with the structure of the csvFile as attributes
|
|
|
|
+ for line in reader:
|
|
|
|
+ packet = ET.SubElement(root, "packet")
|
|
|
|
+ for element in line:
|
|
|
|
+ element = element.replace(" ", "")
|
|
|
|
+ splitel = element.split(":")
|
|
|
|
+ key, value = splitel[0], splitel[1]
|
|
|
|
+ packet.attrib[key] = value
|
|
|
|
+
|
|
|
|
+ # writing the ElementTree into the .xml file
|
|
|
|
+ tree = ET.ElementTree(root)
|
|
|
|
+ tree.write("ExampleCSVBotnetCommunication.xml")
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+parse_csv("ExampleCSVBotnetCommunication.txt")
|