Secure Wi-Fi Access with MAC Address Filtering (Python) | Tour2Tech
Home / Projects / Secure Wi-Fi (MAC Filtering)
LIMITED OFFER
Get up to ₹1,000 OFF
Use coupon MYProject when you book via WhatsApp/Call. We don’t sell online.
Python • Scapy • arp-scan/Nmap • SQLite • Flask/Tkinter

Secure Wi-Fi Access — Automated MAC Whitelisting, Intruder Blocking & Live Monitoring

Let only registered devices on your Wi-Fi. Scan in real time, auto-compare MACs against a whitelist, and block unknowns instantly via router APIs or OS firewall — with alerts and a clean dashboard.

  • Realtime device discovery & vendor identification
  • One-click allow/deny; auto-block unknown devices
  • Alerts + logs, CSV/SQLite storage, simple GUI
Delivery in 3–5 days • Pan-India support
*Demo video placeholder. Replace with your link.
1. Introduction

The Secure Wi-Fi Access with MAC Address Filtering is a Python-based project that enforces device-level access control on your wireless network. It authenticates devices via a registered MAC whitelist, monitors who’s connected, and blocks unknown devices automatically. Perfect for homes and small offices seeking lightweight, effective Wi-Fi hardening.

2. Existing System vs Proposed System
Existing System
  • Manual router setup is complex and error-prone.
  • No real-time device visibility → intruders go unnoticed.
  • No automation or alerting for unknown devices.
Proposed System
  • Automated scans + MAC whitelist enforcement.
  • Live device list with vendor/OUI details.
  • Auto-block unknowns via router API/SSH or OS firewall.
  • Dashboard for add/remove & audit logs.
  • Email/desktop alerts for intrusions.
3. Working
  1. Network Scanning: Periodic ARP/ICMP/port sweeps to enumerate devices.
  2. Device Identification: Extract MAC/IP and vendor info (OUI).
  3. Authorization Check: Compare to whitelist in SQLite/CSV.
  4. Action Execution: Authorized → allow; Unauthorized → block via router/OS.
  5. User Notification: Email/popup alert on unknown device detection.
  6. Dashboard View: Real-time tables for Connected / Blocked / Authorized.
4. Technology Stack
  • Language: Python
  • Libraries: scapy, os, subprocess, time, pandas, Flask/Tkinter
  • Networking Tools: arp-scan / Nmap integration
  • Database: SQLite3 or CSV (whitelist & logs)
  • Optional Integrations: Router API/SSH, SMTP alerts
5. Modules
Network Scanning

Find devices fast.

  • ARP/Nmap sweeps
  • OUI vendor lookup
MAC Authentication

Whitelist match.

  • Exact/regex MAC rules
  • Per-device notes
Access Control

Block/allow.

  • Router API/SSH
  • OS firewall fallback
Admin Management

Edit whitelist.

  • Add/remove MACs
  • Bulk import/export
Alert & Logging

Know instantly.

  • Email/popup alerts
  • Event history
Dashboard

See everything.

  • Connected/Blocked lists
  • Charts & filters
6. Advantages
  • High-level Wi-Fi control via MAC-based auth.
  • Automated monitoring and instant blocking.
  • Friendly UI — no router page digging required.
  • Cross-platform with router/firewall integrations.
  • Prevents hijacking and bandwidth theft.
7. Applications
  • Home networks (family devices only).
  • Start-ups & small offices.
  • Institutions with controlled Wi-Fi access.
  • Cyber labs & IoT testbeds with restricted usage.
Python Integration Sketch (Scapy + arp-scan/Nmap + Router/OS)
# 1) Scan network (choose one)
def scan_devices(cidr):
    # Option A: scapy ARP ping
    ans, _ = scapy.arping(cidr, timeout=2, verbose=0)
    devices = [{"ip": rcv.psrc, "mac": rcv.hwsrc} for snd, rcv in ans]
    # Option B: call arp-scan/nmap via subprocess and parse output
    return enrich_with_vendor(devices)  # OUI lookup

# 2) Authorization check
def is_authorized(mac):
    return db.whitelist.exists(mac.lower())

# 3) Enforcement
def block_device(mac, ip=None):
    if router_api_available():
        router.block_mac(mac)          # vendor-API/SSH command
    else:
        os_firewall_block(ip or mac)    # platform-specific deny

# 4) Loop
def monitor_loop():
    while True:
        devices = scan_devices("192.168.1.0/24")
        for d in devices:
            if not is_authorized(d["mac"]):
                alert(f"Unknown device: {d['ip']} {d['mac']}")
                block_device(d["mac"], d["ip"])
                db.log_event("blocked", d)
        time.sleep(SCAN_INTERVAL)
              
Delivery includes Flask/Tkinter dashboard, SQLite schema (whitelist, events), ARP/Nmap adapters, router API/SSH templates, OS firewall scripts, alerting, and CSV import/export.
What You Get
ItemIncludedNotes
Python Source CodeScapy + Flask/Tkinter
Scanner Integrationsarp-scan / Nmap parsers
Whitelist/BlacklistSQLite + CSV import/export
Router/OS BlockingAPI/SSH + firewall scripts
Alerts & LogsSMTP or desktop notifications
Demo VideoSetup & working walkthrough
Report & PPTCollege-format templates
SupportInstallation + viva Q&A (1 month)

FAQs — Secure Wi-Fi MAC Filtering

Only if you want router-level blocks via API/SSH. Otherwise, the tool can still block at the OS firewall for hosts you control.

No. Scans are lightweight and scheduled. You can tune intervals and subnets to match your environment.

Use the dashboard to add MACs individually or bulk-import from CSV. Notes and device names help with future audits.

Want zero freeloaders on your Wi-Fi?

Get the Secure Wi-Fi MAC Filtering project with code, demo, docs, and support.

WhatsApp Us Now
Shopping Cart
Scroll to Top
Open chat
Need help in Admission?
Hello! 👋 Welcome to Tour2Tech Academy!

We’re here to help you succeed in your engineering journey with:

🌟 Final Year Projects
🎯 College Admission Consultancy
📚 Career Guidance and Skill-Building Courses

How can we assist you today? Whether you need help with a project, are looking for career guidance, or want to know more about our services, we’re just a message away! 😊