from scapy.all import * import http.server import socketserver import threading from time import sleep PORT = 80 MY_IP = get_if_addr(conf.iface) Handler = http.server.SimpleHTTPRequestHandler http = socketserver.TCPServer(("", PORT), Handler) addresses = {} def empty_addresses(): while True: sleep(1) addresses.clear() def handler(pkt): address = pkt[IP].src if address == MY_IP: return 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) 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)