Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Network Scanner Tool

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.

Features

  • 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

Quick Start

Option 1: Run as Executable (Recommended)

  1. Build the executable:

    pip install -r requirements.txt
    python build_exe.py
  2. Run the executable from the dist folder:

    • Double-click NetworkScanner.exe
    • The tool will start a local web server and open your browser automatically
    • Navigate to http://127.0.0.1:5000 if the browser doesn't open automatically

Option 2: Run from Source

  1. Install dependencies:

    pip install -r requirements.txt
  2. Run the application:

    python app.py
  3. Open your browser and navigate to:

    http://127.0.0.1:5000
    

Usage

  1. Start the Application: Run the executable or start the Python script
  2. Monitor Metrics: The dashboard will automatically start collecting and displaying metrics
  3. View Charts: Each metric has a real-time chart showing trends over time
  4. Color Coding:
    • Green: Good performance
    • Yellow: Warning (moderate issues)
    • Red: Poor performance (likely causing lag)

Metrics Explained

  • 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).

Technical Details

Architecture

  • Backend: Python Flask server
  • Frontend: HTML/CSS/JavaScript with Chart.js
  • Network Libraries: ping3, speedtest-cli, psutil
  • Packaging: PyInstaller for single-file executable

API Endpoints

  • GET / - Main dashboard page
  • GET /api/metrics - Get current network metrics
  • POST /api/start - Start continuous monitoring
  • POST /api/stop - Stop monitoring
  • GET /api/status - Get monitoring status

Requirements

  • 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

Troubleshooting

Ping Not Working

  • On Windows, you may need to run as Administrator
  • Some firewalls block ICMP ping requests
  • Check if your network allows ping traffic

Speedtest Not Running

  • Speedtest runs every 5 minutes to avoid constant bandwidth usage
  • Initial speedtest may take 30-60 seconds
  • Ensure you have an active internet connection

Browser Doesn't Open Automatically

  • Manually navigate to http://127.0.0.1:5000
  • Check if port 5000 is already in use
  • Check firewall settings

Building the Executable

To create your own executable:

  1. Install PyInstaller:

    pip install pyinstaller
  2. Run the build script:

    python build_exe.py
  3. Find the executable in the dist folder

License

This project is provided as-is for personal use.

Notes

  • 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

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages