π°️ 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