πŸ“‘ Fuzzu Packet Sniffer – Python GUI for Real-Time IP Monitoring | Tkinter + Scapy

 Demo :


Click Video πŸ‘‡πŸ‘‡πŸ‘‡






























πŸ“ Description:

Explore the power of Python + Scapy in this sleek GUI app that sniffs packets live! Whether you're into network security or learning how to trace source/destination IPs, this hacker-style app gives you a stunning GUI interface with real-time output.
Built with threading, styled with dark mode, and structured for maximum speed. Watch the Short video demo and grab the code from our next release.


✨ Features:

  • Live Packet Sniffing with IP & Protocol

  • Stylish Dark GUI with Tkinter

  • Real-time TreeView display

  • Beginner-friendly + Offline Tool


Code :


import tkinter as tk

from tkinter import ttk, messagebox

import threading

from scapy.all import sniff, IP


class PacketSnifferGUI:

    def __init__(self, root):

        self.root = root

        self.root.title("πŸ“‘ FuzzuTech Packet Sniffer")

        self.root.geometry("600x500")

        self.root.configure(bg="#1e1e1e")


        style = ttk.Style()

        style.theme_use("default")

        style.configure("Treeview", background="#2e2e2e", foreground="white", fieldbackground="#2e2e2e")

        style.configure("Treeview.Heading", background="#00b894", foreground="white")


        title = tk.Label(self.root, text="FuzzuTech Packet Sniffer", font=("Segoe UI", 20), bg="#1e1e1e", fg="white")

        title.pack(pady=10)


        self.tree = ttk.Treeview(self.root, columns=("Source", "Destination", "Protocol"), show="headings")

        self.tree.heading("Source", text="Source")

        self.tree.heading("Destination", text="Destination")

        self.tree.heading("Protocol", text="Protocol")

        self.tree.pack(fill=tk.BOTH, expand=True, padx=20, pady=10)


        button_frame = tk.Frame(self.root, bg="#1e1e1e")

        button_frame.pack(pady=10)


        self.start_btn = tk.Button(button_frame, text="Start Sniffing", command=self.start_sniffing, bg="#00b894", fg="white", font=("Segoe UI", 12), padx=10, pady=5)

        self.start_btn.pack(side=tk.LEFT, padx=10)


        self.stop_btn = tk.Button(button_frame, text="Stop", command=self.stop_sniffing, bg="#d63031", fg="white", font=("Segoe UI", 12), padx=10, pady=5)

        self.stop_btn.pack(side=tk.LEFT, padx=10)


        self.sniffing = False


    def start_sniffing(self):

        if not self.sniffing:

            self.sniffing = True

            self.thread = threading.Thread(target=self.sniff_packets)

            self.thread.daemon = True

            self.thread.start()

            messagebox.showinfo("Started", "Packet sniffing started.")


    def stop_sniffing(self):

        self.sniffing = False

        messagebox.showinfo("Stopped", "Packet sniffing stopped.")


    def sniff_packets(self):

        sniff(prn=self.process_packet, store=False, stop_filter=lambda x: not self.sniffing)


    def process_packet(self, packet):

        if IP in packet:

            src = packet[IP].src

            dst = packet[IP].dst

            proto = packet.proto

            self.tree.insert("", tk.END, values=(src, dst, proto))


if __name__ == "__main__":

    root = tk.Tk()

    app = PacketSnifferGUI(root)

    root.mainloop()

Comments

Popular posts from this blog

πŸš€ Simple Login & Registration System in Python Tkinter πŸ“±

πŸ”₯ Advanced MP3 Music Player in Python | CustomTkinter + Pygame | Free Source Code

πŸš€ Create a Python Screen Recorder with Audio (Complete Code)