Introduction¶
About Pingnoo¶
Pingnoo is an open-source cross-platform application for analysing and measuring the round trip time (latency) between two hosts.
Using ICMP (Internet Control Message Protocol) packets, Pingnoo discovers the route to a host by sending repeated ICMP packets and incrementing the time-to-live (TTL) field, as the packet passes through routers (Hops) the TTL field is decremented, if the value reaches zero then the router that is currently processing that packet will usually respond with a time exceeded message to the origininating host.
Note
Not all hops will respond with time exceeded messages, depending on their configuration they may also prioritise other traffic over ICMP packets or they may simply just silently drop the packet.
Pingnoo tracks all ICMP packets it transmits and is able to pair ICMP responses with the sent requests, this allows the round-trip-time (RTT) to be calculated not only between the two endpoints, but also the intermediate hops between the hosts.
This information is plotted with graphs to provide an instant visual overview of a route and can be used to identify network issues, not just locally but at any point between the originating computer and the target.
Why Pingnoo?¶
Pingnoo is intended to be used by anybody with an interest in the performance of their network connections, from home users to enterprise users), the application has been designed to be quick and easy to use; whether you are interested in gaming performance issues or whether you are trying to diagnose enterprise routing issues.
Features¶
Although currently early in development, the core application functionality is fully usable and the capabilities of the software will grow over time.
100% open-source software, licensed under the GPLv3.
Cross-platform, runs under macOS, Windows and Linux.
Extensible, the main application binary is very small and only serves as a loader for components (aka plugins), the actual functionality of the software is provided by components which makes the design ultra-flexible and allows third parties to produce their own components to further enhance the software.
Produces beautiful graphs showing the history of each hop.
Built in support to redact host name and IP addresses. Ships with host maskers for the (detected) public IP address and also a regular expression based masker which allows complex masking rules to be created, producing outputs without the need to further edit the document/image to hide sensitive information.

The Linux version showing the historical RTT to cloudflare for the past 30 minutes.¶
Getting started¶
If you’ve read this far, then all that remains is to head to the releases section of the project repository and download the appropriate version for your operating system, within minutes you will be producing detailed information about your network connection!
Installation¶
Pingnoo is available for download either as source code release or as pre-built binaries. The actual method of installation varies by host platform.
Requirements¶
The application is packaged for each platform and includes (or will install) any dependencies that are required.
Note
Only 64-bit builds of the software are provided, if 32-bit builds are required then the user must build the application from source.
Via Git or Download¶
The releases page on the GitHub repository contains the latest public builds of the software (along with the snapshot of the source code that was used to build the binary release.
Installing on macOS¶
The latest macOS version of Pingnoo can be found under releases on the GitHub repository.
Install from DMG¶
Pingnoo is distributed as a DMG file for macOS, after downloading the appropriate DMG, double click on the downloaded file to mount the disk image in finder. Once mounted, the software is installed by dragging Pingnoo.app
to the Applications
folder shortcut, once installed the DMG file can be ejected and deleted.
Tip
For your safety and convenience, Pingnoo is fully signed and notarized by Apple ensuring that the software is free from malware.
Installing on Linux¶
The latest Linux version of Pingnoo can be found under releases on the GitHub repository.
Currently Pingnoo is only supplied as a self contained AppImage for linux. The advantage of AppImages is that they contain all the necessary dependencies required for the software to run, this means that no additional software needs to be installed for the application to run.
Preparing Pingnoo to run¶
After downloading Pingnoo to an appropriate location, the downloaded files permissions must be set to allow execution, this step must be completed otherwise the application will not run.
user@machine $ chmod +x Pingnoo.AppImage
Once the permissions hae been changed, the application can be launched directly from the desktop or directly from a shell prompt.
user@machine $ ./Pingnoo.AppImage
Warning
Ensure that the downloaded applications permissions are set correctly, the application will not not launch otherwise!
Special Requirements¶
There are additional requirements when using the Linux port of Pingnoo. Linux by default, prevents applications from using raw sockets as a security measure, this impacts Pingnoo.
In order to use Pingnoo, you either need to run the application with root permissions (not recommended!).
user@machine $ sudo ./Pingnoo.AppImage
Linux will prompt for the root password, while running as root any files that are created by the application will belong to root, this means that (depending on their permissions) you will not be able to open or delete the created files without root permissions.
Pingnoo has been designed in such a way that different ping engines can be selected. The system ping command has special permissions that allow it to send ping requests without the need for root permissions, Pingnoo provides a ping engine which makes use of the system ping command, by using this ping engine, Pingnoo does not need root permissions.
Installing on Windows¶
The latest Windows version of Pingnoo can be found under releases on the GitHub repository.
Installer¶
Nearly all Windows applications use installers to set up applications, the installer installs the application, sets up file associations, installs shortcuts and initialises settings.
To install the applicaiton, simply double click on the installer executable and follow the prompts.
Portable Edition¶
Pingnoo is also supplied as a portable application. When using a portable applicatiom, the application can simply be stored in a folder (most likely on a USB thumb drive) that can be moved between computers quickly and easily, nothing needs to be installed and the applicaiton will run directly.
Installing from Git¶
Pingnoo can also be built and run from the source code which is aailable on the GitHub repository.
Requirements¶
Git - A git client is the most convenient method of obtaining the source code, alternatively the source code can be downloaded as a zip file and extracted on the users computer. Using a Git client is recommended as you will be able to quickly and easily pull new versions of code as they are released.
Qt - Qt 5 is required to build the software.
CMake - Pingnoo is built using CMake, a recent version of CMake is a requirement.
macOS¶
Tbe Xcode command line tools must be installed which provides the compilers.
Windows¶
The appropriate compiler which matches the compiler used to build the Qt version being used. The binary releases of Pingnoo use the Visual Studio 2019 compilers and runtime, other versions or compilers may be used but they remain untested and may require alterations to the code in order to win.
Linux¶
Depending on the distro and/or the packages that are installed, a compatible compiler must be installed.
Using Pingnoo¶
Pingnoo has been designed to be extremely easy to use, the user interface uses the familier Ribbon style and is consistent across platforms, so no matter which operating system it is run under, it will remain familiar to you.
Starting Up¶
When launched, the application will show a splashscreen which includes information about the application.

Tip
The version numbering system used allows you to quickly see how old your version is.
It uses the form YYYY.MM.DD-<git branch>
for example, 2021.01.01-develop tells you that the application was built on the 1st Jan 2021 from the develop branch, the git revision is also displayed in the software so that the source code that was used for this build can be obtained directly.