π°️ Network Map Visualizer Python App – Scan Your WiFi in 1 Click | FuzzuTech
Demo :
Click Video πππ
π Blogger Description:
Learn how to create your own Network Map Visualizer using Python! π°️ This app shows all connected devices on your local network – with real-time scanning and a modern dark-themed GUI. Built using tkinter, socket, and psutil, this tool is perfect for ethical hackers and Python learners looking to explore network interfaces. Watch the full demo in our short video! π₯
π Subscribe to FuzzuTech on YouTube for more GUI + cybersecurity tools.
π‘ Features:
-
Scan all devices connected to your local network
-
Displays IP address, Hostname & Interface
-
Built with
tkinter,socket,psutil -
Dark mode GUI with interactive buttons
-
Great for ethical hackers, students, IT pros
-
Developed by FuzzuTech
Code :
import tkinter as tk
from tkinter import ttk, messagebox
import socket
import psutil
import threading
def get_network_devices():
devices = []
for interface, addrs in psutil.net_if_addrs().items():
for addr in addrs:
if addr.family == socket.AF_INET and not addr.address.startswith('127.'):
try:
hostname = socket.gethostbyaddr(addr.address)[0]
except:
hostname = "Unknown"
devices.append((addr.address, hostname, interface))
return devices
def display_devices():
result_table.delete(*result_table.get_children())
devices = get_network_devices()
if not devices:
messagebox.showinfo("No Devices Found", "No devices detected in the local network.")
for ip, host, intf in devices:
result_table.insert('', 'end', values=(ip, host, intf))
def refresh_scan():
threading.Thread(target=display_devices).start()
# ===== GUI DESIGN ===== #
root = tk.Tk()
root.title("π°️ Network Map Visualizer - FuzzuTech")
root.geometry("600x480")
root.configure(bg="#0f1117")
root.resizable(False, False)
style = ttk.Style()
style.theme_use("clam")
style.configure("Treeview",
background="#1e2129",
foreground="white",
rowheight=28,
fieldbackground="#1e2129",
bordercolor="#61dafb",
borderwidth=1)
style.map('Treeview', background=[('selected', '#61dafb')])
title_label = tk.Label(root, text="π Network Map Visualizer", font=("Segoe UI", 18, "bold"),
bg="#0f1117", fg="#61dafb")
title_label.pack(pady=15)
# ==== Table Style ==== #
frame = tk.Frame(root, bg="#0f1117")
frame.pack(pady=10)
columns = ("IP Address", "Hostname", "Interface")
result_table = ttk.Treeview(frame, columns=columns, show="headings", height=10)
for col in columns:
result_table.heading(col, text=col)
result_table.column(col, anchor="center", width=200)
result_table.pack()
# ==== Button ==== #
scan_btn = tk.Button(root, text="π Scan Devices", font=("Segoe UI", 12, "bold"),
bg="#61dafb", fg="black", activebackground="#45aee5",
cursor="hand2", bd=0, padx=20, pady=10, command=refresh_scan)
scan_btn.pack(pady=20)
footer = tk.Label(root, text="Developed by FuzzuTech", bg="#0f1117", fg="#888", font=("Segoe UI", 9))
footer.pack(side="bottom", pady=5)
root.mainloop()
Comments
Post a Comment