PingScope is a modern, feature-rich, and visually enhanced version of the classic ping tool. It allows you to perform advanced network diagnostics via both a professional CLI and a sleek web dashboard.
- Modern CLI: Colorized output, panels, and live tables using the
richlibrary. - Advanced Metrics: Real-time calculation of RTT (Min/Max/Avg), Jitter, and Packet Loss.
- Multi-Host & Subnet Sweep: Support for concurrent pinging of multiple targets and full subnet scanning (e.g.,
/24). - Traceroute: Integrated cross-platform route tracing functionality.
- History Tracking: Automatically saves all test results to a local SQLite database.
- Visualization: Generates latency graphs using
matplotliband saves them as PNG. - Export Capabilities: Save your results in JSON, CSV, or TXT formats.
- Web Dashboard: A modern, real-time web interface powered by Flask and Socket.IO.
- Configuration Support: Customizable default settings via
config.yaml. - Dockerized: Ready to be deployed as a container.
- Python 3.6 or higher
- Pip (Python package manager)
- Clone the repository:
git clone https://github.com/ismailtsdln/PingScope.git
cd PyPing- Install dependencies:
pip install -r requirements.txt- Install the application in editable mode:
pip install -e .Basic Ping:
pyping google.comMulti-Host Scanning:
pyping -m google.com github.com 8.8.8.8Subnet Sweep:
pyping -S 192.168.1.0/24 --threads 20Traceroute:
pyping google.com -TView history:
pyping -HGenerate Latency Graph:
pyping google.com -g -o latency_report.pngTo start the real-time web dashboard:
python3 web/app.pyThen visit http://localhost:5000 in your web browser.
source/: Core logic and helper modules.web/: Flask-based web interface (Template/Static files).tests/: Unit and integration tests.config.yaml: Application configuration settings.Dockerfile&docker-compose.yml: Containerization setup.
This project is licensed under the MIT License. See the LICENSE file for details.
- Fork the project.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
Developed by İsmail Taşdelen - LinkedIn