A real-time network traffic monitoring application with intrusion detection capabilities. This tool provides visualization of network traffic, protocol distribution analysis, and machine learning-based threat detection.
- Real-time network traffic visualization
- Protocol distribution analysis
- Top bandwidth usage by application/IP
- Traffic details table with filtering
- Speed monitoring (download/upload)
- Intrusion detection using machine learning
- Alert notifications for suspicious traffic
- Windows 10/11 (64-bit) or Linux
- 4GB RAM minimum (8GB recommended)
- 500MB free disk space
- Python 3.8+ installed
- Node.js 14+ and npm
- Npcap installed (for Windows)
- Administrator privileges
- Flask
- Scapy
- NumPy
- pandas
- joblib
- psutil
- Electron
- Chart.js
git clone https://github.com/tacticalYP/NetworkTrafficMonitor.git
cd NetworkTrafficMonitorDownload and install Npcap from https://npcap.com/
pip install flask scapy numpy pandas joblib psutilor
pip install -r backend/requirements.txtcd frontend
npm install- Simply double-click the
run_network_monitor.batfile in the root directory. - This will automatically:
- Start the backend server with administrator privileges
- Wait for the backend to initialize
- Launch the frontend application
If you prefer to start components individually:
Open a command prompt as Administrator and run:
cd backend
python app2.pyIn a new terminal window:
cd frontend
npm startThe application should automatically open in a new window.
NetworkTrafficMonitor/
├── backend/
│ ├── app.py # Legacy Flask server
│ ├── app2.py # Current Flask server with ML integration
│ ├── traffic_analyzer.py # Network traffic analysis
│ ├── pack_sniffer.py # Packet capture and processing
│ ├── utils.py # Utility functions
│ └── ml_model/ # Machine learning models for threat detection
├── frontend/
│ ├── index.html # Main UI
│ ├── style.css # Styling
│ ├── renderer.js # Charts and UI logic
│ ├── main.js # Electron main process
│ └── package.json # Node.js dependencies
└── README.md
- Ensure you're running with administrator privileges.
- Verify Npcap is installed correctly.
- Check firewall settings if capturing packets fails.
- If charts aren't displaying, check browser console for errors.
- Try clearing browser cache if UI elements are missing.
This project is licensed under the MIT License.
- Chart.js for visualization
- Scapy for packet manipulation
- Electron for desktop application framework
