66 lines
11 KiB
Python
66 lines
11 KiB
Python
testDict = {1: {'IPV4_SRC_ADDR': 3232245780, 'IPV4_DST_ADDR': 2886934533, 'NEXT_HOP': 0, 'INPUT': 1, 'OUTPUT': 2, 'IN_PACKETS': 4, 'IN_OCTETS': 2240, 'FIRST_SWITCHED': 173803000, 'LAST_SWITCHED': 173813000, 'SRC_PORT': 445, 'DST_PORT': 49012, 'TCP_FLAGS': 24, 'PROTO': 6, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 27, 'DST_MASK': 24}, 2: {'IPV4_SRC_ADDR': 2886934580, 'IPV4_DST_ADDR': 3258633492, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 1, 'IN_OCTETS': 76, 'FIRST_SWITCHED': 173799000, 'LAST_SWITCHED': 173799000, 'SRC_PORT': 43310, 'DST_PORT': 123, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 184, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 0}, 3: {'IPV4_SRC_ADDR': 3258633492, 'IPV4_DST_ADDR': 2886934580, 'NEXT_HOP': 2887053313, 'INPUT': 1, 'OUTPUT': 2, 'IN_PACKETS': 1, 'IN_OCTETS': 76, 'FIRST_SWITCHED': 173799000, 'LAST_SWITCHED': 173799000, 'SRC_PORT': 123, 'DST_PORT': 43310, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 0, 'DST_MASK': 24}, 4: {'IPV4_SRC_ADDR': 2886934580, 'IPV4_DST_ADDR': 3758096402, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 3, 'IN_OCTETS': 168, 'FIRST_SWITCHED': 173814000, 'LAST_SWITCHED': 173816000, 'SRC_PORT': 0, 'DST_PORT': 0, 'TCP_FLAGS': 0, 'PROTO': 112, 'TOS': 224, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 0}, 5: {'IPV4_SRC_ADDR': 184547634, 'IPV4_DST_ADDR': 184546561, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 3, 'IN_OCTETS': 285, 'FIRST_SWITCHED': 173811000, 'LAST_SWITCHED': 173816000, 'SRC_PORT': 57870, 'DST_PORT': 53, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 0, 'DST_MASK': 0}, 6: {'IPV4_SRC_ADDR': 3223621510, 'IPV4_DST_ADDR': 2886934580, 'NEXT_HOP': 0, 'INPUT': 1, 'OUTPUT': 2, 'IN_PACKETS': 1, 'IN_OCTETS': 76, 'FIRST_SWITCHED': 173802000, 'LAST_SWITCHED': 173802000, 'SRC_PORT': 123, 'DST_PORT': 9911, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 0, 'DST_MASK': 24}, 7: {'IPV4_SRC_ADDR': 2886934580, 'IPV4_DST_ADDR': 3223621510, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 1, 'IN_OCTETS': 76, 'FIRST_SWITCHED': 173802000, 'LAST_SWITCHED': 173802000, 'SRC_PORT': 9911, 'DST_PORT': 123, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 184, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 0}, 8: {'IPV4_SRC_ADDR': 2886934529, 'IPV4_DST_ADDR': 2886934576, 'NEXT_HOP': 0, 'INPUT': 0, 'OUTPUT': 2, 'IN_PACKETS': 2, 'IN_OCTETS': 2984, 'FIRST_SWITCHED': 173813000, 'LAST_SWITCHED': 173818000, 'SRC_PORT': 51685, 'DST_PORT': 2055, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 32, 'DST_MASK': 24}, 9: {'IPV4_SRC_ADDR': 2886934533, 'IPV4_DST_ADDR': 3232245780, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 1, 'IN_OCTETS': 52, 'FIRST_SWITCHED': 173803000, 'LAST_SWITCHED': 173803000, 'SRC_PORT': 45194, 'DST_PORT': 445, 'TCP_FLAGS': 16, 'PROTO': 6, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 27}, 10: {'IPV4_SRC_ADDR': 2886934580, 'IPV4_DST_ADDR': 3758096402, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 3, 'IN_OCTETS': 168, 'FIRST_SWITCHED': 173817000, 'LAST_SWITCHED': 173819000, 'SRC_PORT': 0, 'DST_PORT': 0, 'TCP_FLAGS': 0, 'PROTO': 112, 'TOS': 224, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 0}, 11: {'IPV4_SRC_ADDR': 2886934545, 'IPV4_DST_ADDR': 4026531834, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 1, 'IN_OCTETS': 362, 'FIRST_SWITCHED': 173805000, 'LAST_SWITCHED': 173805000, 'SRC_PORT': 36920, 'DST_PORT': 1900, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 0}, 12: {'IPV4_SRC_ADDR': 2886934580, 'IPV4_DST_ADDR': 3758096402, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 3, 'IN_OCTETS': 168, 'FIRST_SWITCHED': 173820000, 'LAST_SWITCHED': 173822000, 'SRC_PORT': 0, 'DST_PORT': 0, 'TCP_FLAGS': 0, 'PROTO': 112, 'TOS': 224, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 0}, 13: {'IPV4_SRC_ADDR': 3223621506, 'IPV4_DST_ADDR': 2886934580, 'NEXT_HOP': 0, 'INPUT': 1, 'OUTPUT': 2, 'IN_PACKETS': 1, 'IN_OCTETS': 76, 'FIRST_SWITCHED': 173806000, 'LAST_SWITCHED': 173806000, 'SRC_PORT': 123, 'DST_PORT': 26884, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 0, 'DST_MASK': 24}, 14: {'IPV4_SRC_ADDR': 2886934580, 'IPV4_DST_ADDR': 3223621506, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 1, 'IN_OCTETS': 76, 'FIRST_SWITCHED': 173806000, 'LAST_SWITCHED': 173806000, 'SRC_PORT': 26884, 'DST_PORT': 123, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 184, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 0}, 15: {'IPV4_SRC_ADDR': 184547634, 'IPV4_DST_ADDR': 184546561, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 1, 'IN_OCTETS': 83, 'FIRST_SWITCHED': 173806000, 'LAST_SWITCHED': 173806000, 'SRC_PORT': 53432, 'DST_PORT': 53, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 0, 'DST_MASK': 0}, 16: {'IPV4_SRC_ADDR': 2886934533, 'IPV4_DST_ADDR': 3232245780, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 13, 'IN_OCTETS': 2314, 'FIRST_SWITCHED': 173823000, 'LAST_SWITCHED': 173823000, 'SRC_PORT': 34476, 'DST_PORT': 445, 'TCP_FLAGS': 27, 'PROTO': 6, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 27}, 17: {'IPV4_SRC_ADDR': 3232245780, 'IPV4_DST_ADDR': 2886934533, 'NEXT_HOP': 0, 'INPUT': 1, 'OUTPUT': 2, 'IN_PACKETS': 12, 'IN_OCTETS': 1827, 'FIRST_SWITCHED': 173823000, 'LAST_SWITCHED': 173823000, 'SRC_PORT': 445, 'DST_PORT': 34476, 'TCP_FLAGS': 27, 'PROTO': 6, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 27, 'DST_MASK': 24}, 18: {'IPV4_SRC_ADDR': 2886934533, 'IPV4_DST_ADDR': 3232245780, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 6, 'IN_OCTETS': 1744, 'FIRST_SWITCHED': 173813000, 'LAST_SWITCHED': 173823000, 'SRC_PORT': 49012, 'DST_PORT': 445, 'TCP_FLAGS': 24, 'PROTO': 6, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 27}, 19: {'IPV4_SRC_ADDR': 3232245780, 'IPV4_DST_ADDR': 2886934533, 'NEXT_HOP': 0, 'INPUT': 1, 'OUTPUT': 2, 'IN_PACKETS': 4, 'IN_OCTETS': 2240, 'FIRST_SWITCHED': 173813000, 'LAST_SWITCHED': 173823000, 'SRC_PORT': 445, 'DST_PORT': 49012, 'TCP_FLAGS': 24, 'PROTO': 6, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 27, 'DST_MASK': 24}, 20: {'IPV4_SRC_ADDR': 2886934580, 'IPV4_DST_ADDR': 3758096402, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 3, 'IN_OCTETS': 168, 'FIRST_SWITCHED': 173823000, 'LAST_SWITCHED': 173825000, 'SRC_PORT': 0, 'DST_PORT': 0, 'TCP_FLAGS': 0, 'PROTO': 112, 'TOS': 224, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 0}, 21: {'IPV4_SRC_ADDR': 2728380539, 'IPV4_DST_ADDR': 2886934582, 'NEXT_HOP': 2887053313, 'INPUT': 1, 'OUTPUT': 2, 'IN_PACKETS': 1, 'IN_OCTETS': 76, 'FIRST_SWITCHED': 173810000, 'LAST_SWITCHED': 173810000, 'SRC_PORT': 123, 'DST_PORT': 24219, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 0, 'DST_MASK': 24}, 22: {'IPV4_SRC_ADDR': 2886934582, 'IPV4_DST_ADDR': 2728380539, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 1, 'IN_OCTETS': 76, 'FIRST_SWITCHED': 173810000, 'LAST_SWITCHED': 173810000, 'SRC_PORT': 24219, 'DST_PORT': 123, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 184, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 0}, 23: {'IPV4_SRC_ADDR': 184547634, 'IPV4_DST_ADDR': 184546561, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 3, 'IN_OCTETS': 249, 'FIRST_SWITCHED': 173821000, 'LAST_SWITCHED': 173826000, 'SRC_PORT': 58024, 'DST_PORT': 53, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 0, 'DST_MASK': 0}, 24: {'IPV4_SRC_ADDR': 2886934580, 'IPV4_DST_ADDR': 3758096402, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 3, 'IN_OCTETS': 168, 'FIRST_SWITCHED': 173826000, 'LAST_SWITCHED': 173828000, 'SRC_PORT': 0, 'DST_PORT': 0, 'TCP_FLAGS': 0, 'PROTO': 112, 'TOS': 224, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 0}, 25: {'IPV4_SRC_ADDR': 2886934533, 'IPV4_DST_ADDR': 3232245780, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 1, 'IN_OCTETS': 52, 'FIRST_SWITCHED': 173813000, 'LAST_SWITCHED': 173813000, 'SRC_PORT': 56224, 'DST_PORT': 445, 'TCP_FLAGS': 16, 'PROTO': 6, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 27}, 26: {'IPV4_SRC_ADDR': 2886934546, 'IPV4_DST_ADDR': 2886934529, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 8, 'IN_PACKETS': 1, 'IN_OCTETS': 323, 'FIRST_SWITCHED': 173815000, 'LAST_SWITCHED': 173815000, 'SRC_PORT': 68, 'DST_PORT': 67, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 192, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 32}, 27: {'IPV4_SRC_ADDR': 2886934529, 'IPV4_DST_ADDR': 2886934546, 'NEXT_HOP': 2887053313, 'INPUT': 0, 'OUTPUT': 2, 'IN_PACKETS': 1, 'IN_OCTETS': 328, 'FIRST_SWITCHED': 173815000, 'LAST_SWITCHED': 173815000, 'SRC_PORT': 67, 'DST_PORT': 68, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 32, 'DST_MASK': 24}, 28: {'IPV4_SRC_ADDR': 2886934580, 'IPV4_DST_ADDR': 3758096402, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 3, 'IN_OCTETS': 168, 'FIRST_SWITCHED': 173829000, 'LAST_SWITCHED': 173831000, 'SRC_PORT': 0, 'DST_PORT': 0, 'TCP_FLAGS': 0, 'PROTO': 112, 'TOS': 224, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 24, 'DST_MASK': 0}, 29: {'IPV4_SRC_ADDR': 3223621510, 'IPV4_DST_ADDR': 2886934582, 'NEXT_HOP': 2887053313, 'INPUT': 1, 'OUTPUT': 2, 'IN_PACKETS': 1, 'IN_OCTETS': 76, 'FIRST_SWITCHED': 173816000, 'LAST_SWITCHED': 173816000, 'SRC_PORT': 123, 'DST_PORT': 29946, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 0, 'DST_MASK': 24}, 30: {'IPV4_SRC_ADDR': 184547634, 'IPV4_DST_ADDR': 184546561, 'NEXT_HOP': 2887053313, 'INPUT': 2, 'OUTPUT': 1, 'IN_PACKETS': 1, 'IN_OCTETS': 95, 'FIRST_SWITCHED': 173816000, 'LAST_SWITCHED': 173816000, 'SRC_PORT': 57870, 'DST_PORT': 53, 'TCP_FLAGS': 0, 'PROTO': 17, 'TOS': 0, 'SRC_AS': 0, 'DST_AS': 0, 'SRC_MASK': 0, 'DST_MASK': 0}}
|
|
|
|
|
|
import ipaddress
|
|
from datetime import timedelta
|
|
|
|
#print(testDict)
|
|
|
|
|
|
# Convert IPs and time
|
|
# aka make it human readable
|
|
for key, flow in testDict.items():
|
|
# EXPLAIN PLZ
|
|
|
|
# .items() returns something like that
|
|
|
|
# [
|
|
# (1, {'IPV4_SRC_ADDR': 3232245780, ...}),
|
|
# (2, {'IPV4_SRC_ADDR': 2886934580, ...})
|
|
# ]
|
|
# So key would be 1 and/or 2
|
|
# and flow would be what we want
|
|
|
|
# IPs
|
|
flow["IPV4_SRC_ADDR"] = str(ipaddress.IPv4Address(flow["IPV4_SRC_ADDR"]))
|
|
flow["IPV4_DST_ADDR"] = str(ipaddress.IPv4Address(flow["IPV4_DST_ADDR"]))
|
|
|
|
# Convert time from ms to HH:MM:SS
|
|
first = int(flow["FIRST_SWITCHED"])
|
|
last = int(flow["LAST_SWITCHED"])
|
|
|
|
flow["FIRST_SWITCHED_HR"] = str(timedelta(milliseconds=first))
|
|
flow["LAST_SWITCHED_HR"] = str(timedelta(milliseconds=last))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# print(f"{howMany} <--- This many flows")
|
|
|
|
#print(testDict[1]["IPV4_SRC_ADDR"])
|
|
#print(testDict[1]["FIRST_SWITCHED"])
|
|
#print(testDict[1]["LAST_SWITCHED"])
|
|
#print("duration: ", testDict[1]["LAST_SWITCHED"] - testDict[1]["FIRST_SWITCHED"], "ms")
|
|
|
|
print()
|
|
|
|
|
|
|
|
|
|
#for skibidi in testDict:
|
|
# howMany += 1
|
|
# key["IPV4_SRC_ADDR"] = str(ipaddress.IPv4Address(key["IPV4_SRC_ADDR"]))
|
|
# key["IPV4_DST_ADDR"] = str(ipaddress.IPv4Address(key["IPV4_DST_ADDR"]))
|
|
#
|
|
#print(f"{howMany} <--- This many flows")
|
|
#howMany = 0
|
|
|
|
#print(testDict[1]["IPV4_SRC_ADDR"])
|
|
|
|
|
|
|
|
|