TrafficWatch is a Windows-based network traffic monitoring application that provides real-time monitoring of network usage, process-level traffic analysis, and historical data tracking.
- Real-time Monitoring: Live display of download and upload speeds
- Process Tracking: Monitor network traffic by individual processes
- Historical Data: Track daily, monthly, and total traffic statistics
- Web Dashboard: Access traffic statistics via built-in web server at
http://127.0.0.1:8080/state/index.html - System Tray Integration: Runs quietly in the system tray
- Multi-desktop Support: Works across virtual desktops (Windows 10+)
- Theme Support: Follows Windows system theme colors
- Operating System: Windows 7, 8, 10, or 11
- .NET Framework: 4.7 or higher (Download)
- WinPcap: Required for packet capture (Download)
- Network Adapter: Active network interface for monitoring
- Install .NET Framework 4.7 or higher
- Install WinPcap from winpcap.org
# Open TrafficWatch.sln in Visual Studio 2019 or later
# Build the solution in Release mode
# The executable will be in TrafficWatch/bin/Release/- Launch
TrafficWatch.exe - The application will start monitoring your network traffic
- View the main window for real-time statistics
- Access the web dashboard at:
http://127.0.0.1:8080/state/index.html
The built-in web server provides:
- Real-time download/upload speeds
- Historical statistics (daily, monthly, total)
- Responsive design for mobile and desktop
- Auto-refresh every 2 seconds
- Show/Hide: Toggle the main window visibility
- Edge Hide: Auto-hide window at screen edge
- Settings: Configure application preferences
- Exit: Close the application
TrafficWatch/
├── TrafficWatch/ # Main WPF Application
│ ├── Control/ # Custom UI controls
│ ├── Services/ # Core services (capture, themes, etc.)
│ ├── View/ # XAML views and windows
│ ├── Resources/Pages/ # Web dashboard files
│ └── Server.cs # HTTP server implementation
├── HttpServer/ # Lightweight HTTP server library
├── VirtualDesktop/ # Virtual desktop management
└── ServerTrafice/ # Windows Service version
- LiveCharts (0.9.7): Chart visualization
- log4net (2.0.8): Logging framework
- SharpPcap (4.5.0): Packet capture library
- PacketDotNet (0.16.0): Network packet parsing
- Vue.js (2.6.10): Web dashboard frontend
- Axios (0.16.2): HTTP client for web dashboard
Application settings are stored in user settings and can be accessed through the Settings window:
- Startup on boot
- Transparency effects
- Update notifications
- Window position
The built-in HTTP server exposes the following endpoints:
| Endpoint | Description |
|---|---|
/state/index.html |
Web dashboard |
/Download |
Current download speed |
/Upload |
Current upload speed |
/MaxSpeed |
Maximum recorded speed |
/Daydownload |
Today's download total |
/Dayupload |
Today's upload total |
/Monthdownload |
Monthly download total |
/Monthupload |
Monthly upload total |
/Totaldownload |
All-time download total |
/Totalupload |
All-time upload total |
If you receive a WinPcap error:
- Download WinPcap from winpcap.org
- Install with administrator privileges
- Restart the application
- Ensure you have an active network connection
- Run the application as administrator
- Check if the correct network adapter is selected
- Verify the application is running
- Check if port 8080 is available
- Try accessing
http://localhost:8080/state/index.html
# Using Visual Studio
Open TrafficWatch.sln
Build > Build Solution
# Using MSBuild
msbuild TrafficWatch.sln /p:Configuration=Release- App.xaml.cs: Application startup and initialization
- MainWindow.xaml: Main application window
- PopWindow.xaml: Edge-hiding popup window
- Server.cs: HTTP server for web dashboard
- Services/Detail/CaptureManager.cs: Network packet capture
This project uses several open-source libraries. Please refer to their respective licenses.
Contributions are welcome! Please feel free to submit pull requests or report issues.
For issues and questions, please visit the GitHub repository.
Note: This application requires administrative privileges to capture network traffic.