diff --git a/client/main.py b/client/main.py index caca6f5..726d58e 100644 --- a/client/main.py +++ b/client/main.py @@ -20,7 +20,7 @@ def attaque(): while True: requete = L[r.randint(0, 2)] paquet = IP(dst=adresse) / TCP(dport=port, sport=RandShort(), flags="S") / Raw(load=requete) - sr1(paquet, verbose=True) + sr1(paquet, verbose=False) if __name__ == "__main__": attaque() diff --git a/server/main.py b/server/main.py index efab81e..fbaaddc 100644 --- a/server/main.py +++ b/server/main.py @@ -2,14 +2,29 @@ from scapy.all import * import http.server import socketserver import threading +import time PORT = 80 Handler = http.server.SimpleHTTPRequestHandler http = socketserver.TCPServer(("", PORT), Handler) +addresses = {} + +def empty_addresses(): + while True: + time.wait(1) + addresses.clear() + def handler(pkt): - print(pkt) + address = pkt[IP].src + if address in addresses.keys(): + count = addresses[address] + if count > 30: + print(address, count) + addresses[address] += 1 + else: + addresses[address] = 1 def sniff_packets(): sniff(filter=f"tcp port {PORT}", prn=handler) @@ -17,6 +32,8 @@ def sniff_packets(): if __name__ == "__main__": sniffer = threading.Thread(target=sniff_packets) sniffer.start() + emptyer = threading.Thread(target=empty_addresses) + emptyer.start() http.serve_forever() print("serving at port", PORT)