PingTestTool is a lightweight, high-performance Windows desktop application for network diagnostics built with C# and WPF. It provides tools for ping testing and route tracing with real-time visualization, detailed statistics, and data export capabilities.
- Configurable Settings: Set ping count (1-1000), timeout, and "Don't Fragment" flag.
- Real-time Metrics: Monitor latency, TTL, and packet size for every individual request.
- Statistical Analysis: Automatic calculation of Min/Max/Avg latency, Jitter, and Packet Loss percentage.
- Latency Graph: Live, auto-scaling chart for visual performance tracking.
- Data Export: Save session results to a text file.
- Route Visualization: Visual representation of network hops.
- Detailed Hop Data: View IP addresses, hostnames, and packet loss statistics for each node. Smart DNS: Asynchronous and cached DNS resolution for improved speed.
- Performance Indicators: Color-coded status for packet loss and high latency.
- Themes: Support for both Dark and Light interface modes.
- Localization: Full support for English and Russian languages.
- Shortcuts: Keyboard-driven controls for starting and stopping tests.
Trace Route Visualization and Hop Statistics
- Operating System: Windows 10 or Windows 11.
- Runtime: .NET 9.0 Desktop Runtime.
- Development: Visual Studio 2022 (required for building from source).
- Clone the repository: git clone https://github.com/diqezit/Ping.git
- Navigate to the directory: cd Ping
- Restore dependencies: dotnet restore
- Run the application: dotnet run --project PingTestTool.csproj
Alternatively, open the PingTester.sln file in Visual Studio 2022 and press F5.
- Navigate to the Ping tab.
- Enter the target hostname (e.g., google.com) or IP address.
- Adjust settings such as Count and Timeout.
- Click Start Test or press Ctrl + Enter.
- Use the Export function to save logs.
- Navigate to the Trace Route tab.
- Enter the target host.
- Click Start Trace.
- Monitor hops in the data grid and the visual map.
| Component | Technology |
|---|---|
| Core Framework | .NET 9.0, C# 13 |
| UI Framework | Windows Presentation Foundation (WPF) |
| Networking | System.Net.NetworkInformation, DnsClient |
| Graphics | Custom high-performance Canvas rendering |
| Caching | Microsoft.Extensions.Caching.Memory |
| Shortcut | Action |
|---|---|
| Ctrl + Enter | Start test (Ping or Trace) |
| Esc | Stop current operation |
- Fork the repository.
- Create a feature branch (git checkout -b feature/YourFeature).
- Commit your changes (git commit -m 'Add some feature').
- Push to the branch (git push origin feature/YourFeature).
- Open a Pull Request.
Distributed under the MIT License. See the LICENSE file for more information.
To report bugs or suggest improvements, please open an issue at https://github.com/diqezit/Ping/issues.
