Untitled
unknown
plain_text
7 months ago
1.5 kB
4
Indexable
import random
from collections import defaultdict
def generate_logs():
logs = []
for _ in range(100):
ip = f"{random.randint(1,255)}.{random.randint(1,255)}.{random.randint(1,255)}.{random.randint(1,255)}"
port = random.choice([80, 443, 22, 3389, 8080])
logs.append(f"{ip} - Port {port} - {'ALLOWED' if random.random() > 0.1 else 'BLOCKED'}")
return logs
def analyze_traffic(logs):
ip_counts = defaultdict(int)
port_scans = defaultdict(int)
for log in logs:
parts = log.split(" - ")
ip = parts[0]
port = int(parts[1].replace("Port ", ""))
ip_counts[ip] += 1
port_scans[port] += 1
print("\n🚦 TRAFFIC ANALYSIS RESULTS:")
print(f"Total requests: {len(logs)}")
suspicious_ips = [ip for ip, count in ip_counts.items() if count > 10]
if suspicious_ips:
print("\n⚠️ Suspicious IPs (Possible DoS Attack):")
for ip in suspicious_ips:
print(f"- {ip} ({ip_counts[ip]} requests)")
common_ports = {80: "HTTP", 443: "HTTPS", 22: "SSH"}
unusual_ports = [port for port in port_scans if port not in common_ports]
if unusual_ports:
print("\n🚨 Unusual Port Activity (Possible Scan):")
for port in unusual_ports:
print(f"- Port {port} was accessed {port_scans[port]} times")
if __name__ == "__main__":
print("📡 Simulating Network Traffic...")
logs = generate_logs()
analyze_traffic(logs)Editor is loading...
Leave a Comment