class MainWindow: def init(self): self.root = tk.Tk() self.root.title('ARP Detector') self.root.geometry('400x350')

    self.arp_button = tk.Button(self.root, text='ARP Detection', command=self.show_arp_page)
    self.arp_button.pack()

    self.icmp_button = tk.Button(self.root, text='ICMP Flood Detection', command=self.show_icmp_page)
    self.icmp_button.pack()

    self.tcp_button = tk.Button(self.root, text='TCP Attack Detection', command=self.show_tcp_page)
    self.tcp_button.pack()

    self.network_button = tk.Button(self.root, text='Network Scanner', command=self.show_network_scanner_page)
    self.network_button.pack()

    self.root.mainloop()

def show_network_scanner_page(self):
    NetworkScannerPageUI(tk.Toplevel(self.root))

class NetworkScannerPage: def init(self, master): self.master = master self.interface = 'ens33' self.ip_mac_map = {}

    self.frame = tk.Frame(self.master)
    self.frame.pack()

    self.scan_button = tk.Button(self.frame, text='Scan', command=self.scan_network)
    self.scan_button.pack()

    self.result_label = tk.Label(self.frame, text='')
    self.result_label.pack()

def scan_network(self):
    for ip in netifaces.ifaddresses(self.interface)[netifaces.AF_INET][0]['addr'].split('.')[:-1]:
        for i in range(1, 255):
            target_ip = f'{ip}.{i}'
            arp_request = ARP(pdst=target_ip)
            arp_reply = sr1(arp_request, timeout=1, verbose=0)
            if arp_reply and arp_reply.hwsrc not in ('00:00:00:00:00:00', get_if_hwaddr(self.interface)):
                self.ip_mac_map[target_ip] = arp_reply.hwsrc

    result = ''
    for ip, mac in self.ip_mac_map.items():
        result += f'{ip} ({mac})

' self.result_label.config(text=result)

class NetworkScannerPageUI: def init(self, master): self.master = master self.master.title('Network Scanner') self.master.geometry('400x300')

    self.network_scanner_page = NetworkScannerPage(self.master)

def show_network_scanner_page(self):
    self.network_scanner_page.frame.pack()
Python Network Scanner GUI: ARP, ICMP, TCP Detection

原文地址: https://www.cveoy.top/t/topic/jnWt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录