Skip to content

umerfarok/NetworkMonitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌐 NetworkMonitor

A powerful network monitoring and control tool - Better than NetCut!

Release Downloads License

πŸ“– Documentation: umerfarok.github.io/networkmonitor


🎯 One-Click Installation (Windows)

Just download and run - everything is included!

  1. Download NetworkMonitor-Windows-Setup-*.exe
  2. Double-click to install (right-click β†’ Run as administrator)
  3. Done! Dashboard opens automatically

βœ… No manual setup required! The installer automatically installs:

  • NetworkMonitor application
  • Npcap driver (for network scanning)
  • All required components
  • Firewall rules

πŸ“± Other Platforms

Platform Download Notes
Linux Download Run with sudo ./NetworkMonitor
macOS Download Run with sudo ./NetworkMonitor

πŸ“š Need help? See QUICK_START.md or INSTALLATION.md


✨ Features

  • πŸ–₯️ Device Discovery: See all devices on your network
  • βœ‚οΈ Network Cut/Restore: Disconnect devices using ARP spoofing
  • πŸ”’ Protection: Protect devices from ARP attacks
  • ⚑ Speed Limiting: Control bandwidth per device
  • πŸ“Š Real-time Monitoring: Live bandwidth and connection stats
  • 🌐 Modern Web Dashboard: Beautiful React-based UI
  • πŸ–±οΈ Drag & Drop: Easy device management
  • πŸ’» Cross-Platform: Windows, Linux, macOS support
  • ☁️ Vercel Support: Host dashboard in cloud, run backend locally

Running NetworkMonitor

  1. Launch NetworkMonitor from the Start Menu or desktop shortcut.

    • Ensure you run it as administrator
    • A modern status dashboard will appear showing the application status
    • The web interface will open automatically in your default browser
  2. Using the Status Dashboard:

    • Monitor application status through the visual indicator
    • Click "Open in Browser" to access the web interface
    • Use "Run in Background" to minimize to system tray
    • Copy the web interface URL with one click
    • Exit safely using the Exit button
  3. System Tray Features:

    • Minimize the application to system tray for background operation
    • Right-click the tray icon for quick access to common actions
    • Double-click to restore the dashboard window
  4. If you see any dependency warnings:

    • Verify that all prerequisites are installed
    • Check that Python packages are installed correctly
    • Refer to the troubleshooting section below

Troubleshooting

Common Issues

  1. "Npcap not found" error:

    • Ensure Npcap is installed from https://npcap.com
    • Try reinstalling Npcap with "WinPcap API-compatible Mode" checked
  2. Python package errors:

    • Open an administrator command prompt
    • Run: pip install -r "C:\Program Files\NetworkMonitor\requirements.txt"
  3. "Administrator privileges required":

    • Right-click NetworkMonitor shortcut
    • Select "Run as administrator"
  4. UI Display Issues:

    • Ensure your Windows theme is set to 100% scaling
    • Update your graphics drivers
    • Try running with compatibility mode if needed

Getting Help

If you encounter issues:

  1. Check the application logs at %LOCALAPPDATA%\NetworkMonitor\logs
  2. Open an issue on our GitHub repository
  3. Include error messages and logs when reporting issues

Quick Start (Easy Installation)

  1. Download NetworkMonitor to your computer

  2. Run the installer (as Administrator):

    install.bat
  3. Start the application:

    start.bat
  4. Open your browser and go to: http://localhost:5000

That's it! The dashboard will show all devices on your network.

Using with Vercel (Cloud Dashboard)

NetworkMonitor supports a hybrid architecture where the frontend is hosted on Vercel and connects to your local backend:

How it Works

  • Frontend (Vercel): Beautiful, responsive dashboard accessible from anywhere
  • Backend (Local): Runs on your computer with admin privileges for network scanning

Setup

  1. Start the local backend:

    start.bat
  2. Access the Vercel-hosted dashboard at your deployment URL

  3. The dashboard will automatically connect to http://localhost:5000

Environment Variables (Vercel)

Set NEXT_PUBLIC_API_URL in your Vercel project settings if using a different backend URL.

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Your Computer                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚   Local Backend    β”‚    β”‚    Network Interface        β”‚  β”‚
β”‚  β”‚   (Flask API)      │───▢│    (WiFi/Ethernet)          β”‚  β”‚
β”‚  β”‚   Port 5000        β”‚    β”‚                             β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚           β–²                                                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β”‚
            β”‚ CORS-enabled API calls
            β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Vercel (Cloud)                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚                  Next.js Frontend                       β”‚  β”‚
β”‚  β”‚                  (React Dashboard)                      β”‚  β”‚
β”‚  β”‚           https://your-app.vercel.app                   β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Development Setup

  1. Clone the repository:

    git clone https://github.com/umerfarok/networkmonitor.git
    
  2. Install development dependencies:

    pip install -r requirements.txt
    pip install -r requirements-build.txt
    
  3. Install Node.js dependencies for the web interface:

    cd networkmonitor/web
    npm install
    
  4. Run the backend (with admin privileges):

    python -m networkmonitor
    
  5. Run the frontend (in another terminal):

    cd networkmonitor/web
    npm run dev
    
  6. Access the dashboard at http://localhost:3000

API Reference

Endpoint Method Description
/api/status GET Check server status
/api/devices GET List all discovered devices
/api/device/block POST Block a device by IP
/api/device/cut POST Cut device network access (ARP spoof)
/api/device/restore POST Restore device network access
/api/device/protect POST Protect a device from attacks
/api/device/limit POST Set speed limit for a device
/api/network/gateway GET Get gateway information
/api/wifi/interfaces GET List network interfaces

Security Notes

  • NetworkMonitor requires Administrator/Root privileges
  • All API endpoints validate IP addresses to prevent injection attacks
  • The backend uses secure subprocess calls (no shell=True with user input)
  • CORS is configured to allow Vercel deployments

License

MIT License - See LICENSE file for details