Network Scanner Web App
A comprehensive network scanning and device management web application that runs in a Docker container. This app scans your network, identifies devices, tracks connection speeds, and allows you to manage device information.
Features
- 🔍 Network Scanning: Automatically discovers devices on your network
- 📱 Device Detection: Identifies IP addresses, MAC addresses, hostnames, and device types
- ⚡ Connection Speed Monitoring: Tests and tracks connection speeds for each device
- 🔄 Automatic Updates: Connection speeds are refreshed every 30 minutes automatically
- ✏️ Device Management: Edit and update device information manually
- 💾 Persistent Storage: All device information is stored in a database
- 🐳 Docker Ready: Easy deployment with Docker and Docker Compose
Quick Start
- Clone or download the repository
-
Build and run with Docker Compose:
docker-compose up -d -
Access the web interface:
Open your browser and navigate tohttp://localhost:8100
Dashboard Preview
Usage
Scanning Your Network
- Click the "Scan Network" button to discover devices
- Optionally specify a network range (e.g.,
192.168.1.0/24) or leave empty for auto-detection - The scan will discover all active devices and add them to the database
Managing Devices
- View Devices: Display cards with IP/MAC, type, manufacturer, speed, timestamp, and notes.
- Edit Device: Update hostname, type, vendor, OS, and notes.
- Delete Device: Remove devices from the list.
Connection Speed Testing
- Manual Update: Click "Update Speeds" to manually test all devices.
- Automatic Updates: Occur every 30 minutes.
- Speed history is stored and viewable via API.
Technical Details
API Endpoints
Devices
- GET /api/devices/
- GET /api/devices/{id}
- PUT /api/devices/{id}
- DELETE /api/devices/{id}
- GET /api/devices/{id}/speed-history
Scanning
- POST /api/scan/
- POST /api/scan/update-speeds
Configuration
Environment Variables:
DATABASE_URL: sqlite:///./data/network_scanner.db
Docker Configuration:
- Privileged mode: Required for scanning
- Host network mode: Allows network access
- Volume mount: Data stored in
./data