This commit is contained in:
2025-06-27 12:38:19 +03:00
commit 17ec53f764
7 changed files with 307 additions and 0 deletions

55
old.py Normal file
View File

@ -0,0 +1,55 @@
import re
from collections import defaultdict
import matplotlib.pyplot as plt
def parse_file(file_path):
with open(file_path, 'r') as file:
data = file.read()
pattern = re.compile(r'Source address: /(\d+\.\d+\.\d+\.\d+).*?Destination address: /(\d+\.\d+\.\d+\.\d+).*?Source port: (\d+).*?Destination port: (\d+)', re.DOTALL)
matches = pattern.findall(data)
return matches
def count_occurrences(matches):
counts = defaultdict(int)
for src_ip, dst_ip, src_port, dst_port in matches:
counts[(src_ip, dst_ip, dst_port)] += 1
return counts
def plot_data(counts):
src_ips = []
dst_ips = []
ports = []
occurrences = []
for (src_ip, dst_ip, port), count in counts.items():
src_ips.append(src_ip)
dst_ips.append(dst_ip)
ports.append(port)
occurrences.append(count)
fig, ax = plt.subplots(figsize=(10, 8))
bar_width = 0.35
index = range(len(src_ips))
bars = ax.bar(index, occurrences, bar_width, label='Occurrences')
ax.set_xlabel('IP and Port Combinations')
ax.set_ylabel('Occurrences')
ax.set_title('Occurrences of Source IPs, Destination IPs, and Ports')
ax.set_xticks(index)
ax.set_xticklabels([f'{src_ips[i]} -> {dst_ips[i]}:{ports[i]}' for i in range(len(src_ips))], rotation=90)
ax.legend()
plt.tight_layout()
plt.show()
# File path to your text file
file_path = 'sample.txt'
matches = parse_file(file_path)
counts = count_occurrences(matches)
plot_data(counts)