abcj / test_simulator.py
theghostcmd's picture
Upload 10 files
758edb3 verified
#!/usr/bin/env python3
import time
import random
from scapy.all import IP, TCP, UDP, send
def port_scan(target_ip="127.0.0.1", ports=range(1, 100)):
print(f"[SIM] Port scanning {target_ip}...")
for port in ports:
pkt = IP(dst=target_ip)/TCP(dport=port, flags="S")
send(pkt, verbose=False)
time.sleep(0.01)
def brute_force(target_ip="127.0.0.1", port=22, attempts=50):
print(f"[SIM] Brute force simulation on {target_ip}:{port}")
for i in range(attempts):
pkt = IP(dst=target_ip)/TCP(dport=port, flags="S")
send(pkt, verbose=False)
time.sleep(0.05)
def ddos_flood(target_ip="127.0.0.1", duration=5, rate=200):
print(f"[SIM] DDoS flood on {target_ip} for {duration}s at {rate} pps")
end = time.time() + duration
while time.time() < end:
for _ in range(rate):
pkt = IP(dst=target_ip)/UDP(dport=random.randint(1, 65535))
send(pkt, verbose=False)
time.sleep(1)
if __name__ == "__main__":
print("Choose attack: 1=Port Scan, 2=Brute Force, 3=DDoS Flood")
choice = input("> ")
if choice == "1":
port_scan()
elif choice == "2":
brute_force()
elif choice == "3":
ddos_flood()
else:
print("Invalid")