aboutsummaryrefslogtreecommitdiff
path: root/cowrieder.py
diff options
context:
space:
mode:
authorAda Isopods <me@bathynomus.xyz>2025-05-14 02:19:09 -0600
committerAda Isopods <me@bathynomus.xyz>2026-10-21 23:00:37 -0600
commita1487aad2c3c6be99c5509135e632fa8a8546fa5 (patch)
tree1f6a0f9fe3357140cc9fcc3544db4dd5fa5038e8 /cowrieder.py
Initial commit
Diffstat (limited to 'cowrieder.py')
-rw-r--r--cowrieder.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/cowrieder.py b/cowrieder.py
new file mode 100644
index 0000000..707f4a0
--- /dev/null
+++ b/cowrieder.py
@@ -0,0 +1,39 @@
+import json
+import sys
+import random
+
+if(len(sys.argv) < 2):
+ print("Provide a path to a Cowrie JSON log file")
+ exit()
+filepath = sys.argv[1]
+entries = []
+sessions = []
+ips = {}
+
+with open(filepath, "r") as logfile:
+ for line in logfile:
+ entry = json.loads(line)
+ entries.append(entry)
+ session = entry['session']
+ if(session not in sessions):
+ sessions.append(session)
+ ips.update({session: entry['src_ip']})
+
+for session in sessions:
+ ip = ips[session]
+ random.seed(session)
+ sr = random.randrange(50, 256)
+ sg = random.randrange(50, 256)
+ sb = random.randrange(50, 256)
+ random.seed(ip)
+ ir = random.randrange(50, 256)
+ ig = random.randrange(50, 256)
+ ib = random.randrange(50, 256)
+ print("\n--- Session \x1b[38;2;{r};{g};{b}m".format(r=sr, g=sg, b=sb) + session + "\x1b[0m from \x1b[38;2;{r};{g};{b}m".format(r=ir, g=ig, b=ib) + ips[session] + "\x1b[0m ---")
+ for entry in entries:
+ if(entry['session'] == session):
+ if(entry['message']):
+ eventid = entry['eventid']
+ print(entry["timestamp"] + " > " + eventid + (" " * (29 - len(eventid))) + ": " + entry['message'])
+ else:
+ print(entry["timestamp"] + " > " + entry['eventid']) \ No newline at end of file