A single-executable network monitoring tool that continuously scans your internet connection and displays real-time metrics in a browser-based dashboard. Perfect for identifying gaming lag issues by monitoring latency, packet loss, speeds, jitter, and DNS lookup times.
- Real-time Monitoring: Continuously tracks network metrics every 2-3 seconds
- Comprehensive Metrics:
- Latency (ping to multiple servers)
- Packet Loss percentage
- Download/Upload speeds
- Jitter (latency variation)
- DNS lookup times
- Beautiful Dashboard: Modern, responsive web interface with interactive charts
- Single Executable: No installation required - just run the .exe file
- Auto-opens Browser: Automatically opens your default browser when started
-
Build the executable:
pip install -r requirements.txt python build_exe.py
-
Run the executable from the
distfolder:- Double-click
NetworkScanner.exe - The tool will start a local web server and open your browser automatically
- Navigate to
http://127.0.0.1:5000if the browser doesn't open automatically
- Double-click
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python app.py
-
Open your browser and navigate to:
http://127.0.0.1:5000
- Start the Application: Run the executable or start the Python script
- Monitor Metrics: The dashboard will automatically start collecting and displaying metrics
- View Charts: Each metric has a real-time chart showing trends over time
- Color Coding:
- Green: Good performance
- Yellow: Warning (moderate issues)
- Red: Poor performance (likely causing lag)
- Latency: The time it takes for data to travel to a server and back (measured in milliseconds). Lower is better for gaming.
- Packet Loss: Percentage of data packets that fail to reach their destination. Should be close to 0%.
- Download Speed: How fast you can receive data from the internet (Mbps).
- Upload Speed: How fast you can send data to the internet (Mbps).
- Jitter: Variation in latency. Consistent latency is important for smooth gaming.
- DNS Lookup Time: Time it takes to resolve domain names to IP addresses (ms).
- Backend: Python Flask server
- Frontend: HTML/CSS/JavaScript with Chart.js
- Network Libraries: ping3, speedtest-cli, psutil
- Packaging: PyInstaller for single-file executable
GET /- Main dashboard pageGET /api/metrics- Get current network metricsPOST /api/start- Start continuous monitoringPOST /api/stop- Stop monitoringGET /api/status- Get monitoring status
- Python 3.7+ (for building from source)
- Windows 10+ (for the executable)
- Internet connection
- Administrator privileges may be required for ping functionality on some systems
- On Windows, you may need to run as Administrator
- Some firewalls block ICMP ping requests
- Check if your network allows ping traffic
- Speedtest runs every 5 minutes to avoid constant bandwidth usage
- Initial speedtest may take 30-60 seconds
- Ensure you have an active internet connection
- Manually navigate to
http://127.0.0.1:5000 - Check if port 5000 is already in use
- Check firewall settings
To create your own executable:
-
Install PyInstaller:
pip install pyinstaller
-
Run the build script:
python build_exe.py
-
Find the executable in the
distfolder
This project is provided as-is for personal use.
- The tool runs a local web server on port 5000
- Speedtest is run every 5 minutes to avoid excessive bandwidth usage
- Metrics are collected every 2-3 seconds for real-time monitoring
- The tool requires an active internet connection to function properly