Centos Python ARP Spoofing Detection Software
This software provides a user-friendly GUI for detecting ARP spoofing, ICMP flood, and TCP attacks on a local network. It scans and logs active hosts, identifies attack sources, and allows user authentication. This is a simplified implementation using Python for demonstration purposes.
Features:
- Detects and identifies ARP spoofing, ICMP flood, and TCP attacks.
- Scans and records active hosts' IP addresses and MAC addresses on the local network.
- Logs attack source IP addresses and MAC addresses.
- Stores all records in a local file.
- Provides a user login and registration interface.
- Offers a GUI interface with buttons for navigating different functionalities.
Implementation:
The software is built using the tkinter library for GUI development. It includes a login screen, a registration screen, and a main interface with buttons for each function. The code provides a basic framework for implementing the core functionality, but it requires further development to achieve full functionality.
Example Code:
import tkinter as tk
import os
import time
class App:
def __init__(self, master):
self.master = master
master.title('ARP Spoofing Detection Software')
# Login Interface
self.login_frame = tk.Frame(master)
self.login_frame.pack()
self.username_label = tk.Label(self.login_frame, text='Username:')
self.username_label.pack()
self.username_entry = tk.Entry(self.login_frame)
self.username_entry.pack()
self.password_label = tk.Label(self.login_frame, text='Password:')
self.password_label.pack()
self.password_entry = tk.Entry(self.login_frame, show='*')
self.password_entry.pack()
self.login_button = tk.Button(self.login_frame, text='Login', command=self.login)
self.login_button.pack()
self.register_button = tk.Button(self.login_frame, text='Register', command=self.register)
self.register_button.pack()
# Registration Interface
self.register_frame = tk.Frame(master)
self.register_username_label = tk.Label(self.register_frame, text='Username:')
self.register_username_label.pack()
self.register_username_entry = tk.Entry(self.register_frame)
self.register_username_entry.pack()
self.register_password_label = tk.Label(self.register_frame, text='Password:')
self.register_password_label.pack()
self.register_password_entry = tk.Entry(self.register_frame, show='*')
self.register_password_entry.pack()
self.register_confirm_password_label = tk.Label(self.register_frame, text='Confirm Password:')
self.register_confirm_password_label.pack()
self.register_confirm_password_entry = tk.Entry(self.register_frame, show='*')
self.register_confirm_password_entry.pack()
self.register_submit_button = tk.Button(self.register_frame, text='Submit', command=self.register_submit)
self.register_submit_button.pack()
self.register_return_button = tk.Button(self.register_frame, text='Return', command=self.register_return)
self.register_return_button.pack()
# Function Selection Interface
self.function_frame = tk.Frame(master)
self.icmp_flood_button = tk.Button(self.function_frame, text='ICMP Flood', command=self.icmp_flood)
self.icmp_flood_button.pack()
self.tcp_attack_button = tk.Button(self.function_frame, text='TCP Attack', command=self.tcp_attack)
self.tcp_attack_button.pack()
self.arp_spoofing_button = tk.Button(self.function_frame, text='ARP Spoofing', command=self.arp_spoofing)
self.arp_spoofing_button.pack()
self.scan_button = tk.Button(self.function_frame, text='Scan', command=self.scan)
self.scan_button.pack()
self.log_button = tk.Button(self.function_frame, text='Log', command=self.log)
self.log_button.pack()
self.logout_button = tk.Button(self.function_frame, text='Logout', command=self.logout)
self.logout_button.pack()
def login(self):
username = self.username_entry.get()
password = self.password_entry.get()
# Validate username and password (example)
if username == 'admin' and password == 'admin':
self.login_frame.pack_forget()
self.function_frame.pack()
def register(self):
self.login_frame.pack_forget()
self.register_frame.pack()
def register_submit(self):
username = self.register_username_entry.get()
password = self.register_password_entry.get()
confirm_password = self.register_confirm_password_entry.get()
# Validate username (example)
if username == 'admin':
tk.messagebox.showerror('Error', 'Username already exists')
return
# Validate password (example)
if password != confirm_password:
tk.messagebox.showerror('Error', 'Passwords do not match')
return
# Registration successful (example)
tk.messagebox.showinfo('Success', 'Registration successful')
self.register_frame.pack_forget()
self.login_frame.pack()
def register_return(self):
self.register_frame.pack_forget()
self.login_frame.pack()
def icmp_flood(self):
# ICMP Flood detection code
pass
def tcp_attack(self):
# TCP Attack detection code
pass
def arp_spoofing(self):
# ARP Spoofing detection code
pass
def scan(self):
# Scan local network for hosts code
pass
def log(self):
# View logs code
pass
def logout(self):
self.function_frame.pack_forget()
self.login_frame.pack()
root = tk.Tk()
app = App(root)
root.mainloop()
This example code provides a basic structure and is intended for demonstration purposes only. Actual implementation would require further development and adaptation to specific requirements.
原文地址: https://www.cveoy.top/t/topic/jnX1 著作权归作者所有。请勿转载和采集!