GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com β€” GitHub - reory/network_security_scanner: This application performs ARP broadcasting to discover active devices on a local network and enriches the data with manufacturer information via MAC OUI lookup.

BranchesTags
Open more actions menu

Latest commit

 

History

3 Commits
3 Commits

Folders and files

NameName
Last commit message
Last commit date
screenshots
screenshots
 
 
.gitignore
.gitignore
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE.md
LICENSE.md
 
 
README.md
README.md
 
 
main.py
main.py
 
 
requirements.txt
requirements.txt
 
 

Repository files navigation

Network Security Scanner πŸ›‘οΈ

Last Commit Repo Size License

Python Kivy Scapy

A lightweight, cross-platform (Windows-focused) network auditing tool built with Python, KivyMD, and Scapy. This application performs ARP broadcasting to discover active devices on a local network and enriches the data with manufacturer information via MAC OUI lookup.


πŸ“š Table of Contents

  • Why This Project Exists
  • Screenshot
  • Features
  • Project Structure
  • How To Run
  • Installation
  • Challenges Faced
  • Roadmap Features
  • Notes

🎯 Why This Project Exists

This project was created to explore low-level network discovery using Scapy while building a modern desktop interface with KivyMD. The goal was to provide a lightweight network auditing tool that can quickly identify active devices and their manufacturers on a local network.


πŸ“Έ Screenshots

  • Target network range input.
  • One-click ARP network discovery.
  • Real-time device enumeration.
  • IP and MAC address identification.
  • Manufacturer detection via OUI lookups.
  • Online status visibility.

User Interface


πŸš€ Features

  • Real-time Network Discovery: Discover IP and MAC addresses within a specified CIDR range (e.g., /24).

  • Manufacturer Identification: Automatically identifies device vendors (Apple, Samsung, etc.) using the MacVendors API.

  • Multi-threaded Execution: Scans run in a background thread to keep the UI responsive and "jank-free."

  • Modern UI: Clean Material Design interface with pagination and sorting.

  • Production Logging: Integrated with Loguru for detailed, colour-coded terminal output and persistent log files.


πŸ“ Project Structure

network_security_scanner/
β”œβ”€β”€ venv/                   
β”œβ”€β”€ main.py                 # Primary application logic and UI
β”œβ”€β”€ screenshots             # Screenshots 
β”œβ”€β”€ requirements.txt        # Project dependencies
β”œβ”€β”€ .gitignore              # Files to exclude from Git
β”œβ”€β”€ scanner_debug.log       # Auto-generated log file
└── README.md               

πŸ› οΈ How to Run

Prerequisites Python 3.10+

  • Npcap: Required for Scapy to send/receive raw packets on Windows.

  • Administrator Privileges: You must run your terminal/IDE as Administrator to allow Scapy to access the network interface.


Installation

Clone the repo:

git clone https://github.com/reory/network-security-scanner.git
cd network-security-scanner

πŸ“‹ Requirements

  • Python 3.10+
  • Windows 10 / 11
  • Npcap
  • Administrator privileges

Create and activate virtual environment:

python -m venv venv
.\venv\Scripts\activate

Install dependencies:

pip install -r requirements.txt

Run the app:

python main.py

🚧 Challenges Faced & Lessons Learned

  • KivyMD Versioning: Navigating the transition between KivyMD 1.2.0 (Stable) and 2.0.0 (Dev). I opted for 1.2.0 to ensure MDDataTable stability.

  • Windows Interface Routing: Overcame issues where Scapy would target disconnected adapters by implementing conf.route to auto-detect the active Gateway interface.

  • UI Threading: Learned to use Kivy's Clock.schedule_once to safely update the UI from a background scanning thread, preventing application freezes.


πŸ—ΊοΈ Roadmap Features

  • Custom Light/Dark Mode toggle
  • Export scans to CSV
  • Export scans to PDF reports
  • Local OUI vendor database
  • Device history tracking
  • Port scanning module
  • Scheduled network scans
  • Hostname resolution
  • Scan comparison reports

πŸ“ Notes

  • Permissions: If the app hangs on "Scanning," ensure you are running as Administrator.

  • API Limits: Important The vendor lookup uses a free API which may rate-limit requests if scanning very large networks.

  • Happy coding, reach out if you want to contribute.🐍


  • Built by Roy Peters 😁
  • Contact details LinkedIn

About

This application performs ARP broadcasting to discover active devices on a local network and enriches the data with manufacturer information via MAC OUI lookup.

reory.github.io/my-portfolio/

Topics

cybersecurity-toolskivymdnetwork-scannerouilookuppythonscapyscapy-arp

Resources

Readme
MIT license

Contributing

Contributing
Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402520 β€” GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800Γ—600. No cookies required.