A real-time per-application network traffic visualizer built in Python with a Kivy-based GUI. This project captures live network traffic, maps it to running applications, and displays upload/download usage dynamically in a dashboard.
- Real-time network traffic monitoring
- Per-application bandwidth usage (Upload & Download)
- Live dashboard UI (Kivy)
- Dynamic graphs with auto-scaling Y-axis
- Right-click context menu on applications
- View application information
- Show per-app traffic graph (full screen)
- Close application (where permitted)
- Stable application list (positions don’t jump)
- Linux and Windows support
Network Interface -> Packet Capture Engine (Scapy / libpcap / Npcap) -> Process–Connection Mapper (psutil) -> Traffic Aggregator -> Kivy Real-Time Visual Dashboard
Encrypted traffic is handled using metadata only.
- Python 3.10+
- Kivy
- Scapy / libpcap / Npcap
- psutil
sudo apt update
sudo apt install -y python3 python3-venv python3-dev libpcap-devgit clone https://github.com/NathPrashant/network-traffic-visualizer.git
cd network-traffic-visualizerpython3 -m venv venv
source venv/bin/activatepip install -r install.txtsudo python main.pyRoot privileges are required for packet capture.
- Install Python 3.10+ and enable Add to PATH
- Install Npcap (WinPcap API-compatible mode)
git clone https://github.com/NathPrashant/network-traffic-visualizer.gitchange directory to network-traffic-visualizer via terminal. Eg:
cd network-traffic-visualizerpython -m venv venv
venv\Scripts\activatepip install -r install.txtRun terminal as Administrator:
python main.py- Launch the application to open the dashboard
- View live upload/download speeds per application
- Right-click an application to view details, graphs, or close it
- Use back button to return to dashboard
- Some system traffic may appear under System
- Application name resolution depends on OS permissions
Contributions are welcome. Fork the repository, create a branch, commit changes, and open a pull request.
MIT License