Skip to main content

Interactively ping one or many hosts from one or multiple locations (locally or via SSH)

Project description

ping-multi-ext

This tool lets you interactively ping:

  • One host from multiple locations (via SSH)

  • Multiple hosts from one location (local machine, or remote via SSH)

  • Multiple hosts from multiple locations (via SSH)

Screenshots

The main screen:

https://raw.githubusercontent.com/famzah/ping-multi-ext/main/screenshots/main-screen.jpg

Full history of the “ping” raw output for a selected host:

https://raw.githubusercontent.com/famzah/ping-multi-ext/main/screenshots/full-history-ping-output.jpg

Description

The ping results are summarized in real-time and you can also observe the following statistics:

  • TX_cnt: Count of sent PING requests

  • RX_cnt: Count of received PING replies which are not timeouts

  • XX_cnt: Count of timeouts and missing PING replies

  • Loss%: Packet loss defined as the percentage of timed out and missing replies

  • Avg: Average round trip time (RTT)

  • Min: Minimum (best) RTT

  • Max: Maximum (worst) RTT

  • StDev: Population standard deviation of all RTT data

The interactive UI interface lets you visualize the RTT summary in three modes:

  • Successful vs. unsuccessful PING replies

  • The RTT values (ping time) as a number

  • Scaled per 100 ms where “0” means an RTT between 0 and 99 ms, “1” means an RTT between 100 and 199 ms, and so on

You also have the option to review each host’s “ping” command raw output. The full history is kept and you can navigate using the keys PgUp/PgDn/Home/End.

No “root” privileges are required because for each host an external process is started which uses the standard “ping” command.

You can select the statistics forwards and backwards using the lower “s” and upper “S” keys, similar to the “Vim” behavior.

Installation

pip3 install ping-multi-ext

The executable “ping-multi” is automatically added to your “~/.local/bin” directory which you should add to your “$PATH” environment, so that you can easily execute “ping-multi”.

If you install the package globally using “root” privileges, then the binaries are added in “/usr/local/bin” and you should be able to use them right away with no additional setup.

Examples

Ping multiple hosts specified directly on the command-line; you can also provide just one host:

ping-multi google.com github.com

You can also use SSH to run “ping” on remote machines:

ping-multi google.com github.com github.com@root@my-server.com

Ping multiple hosts specified in a file; you can also add more single hosts directly as additional command-line arguments:

ping-multi -f sample.list

IPv4 CIDR masks are supported:

ping-multi 192.168.0.0/30

The usage help explains the additional command-line options:

$ ping-multi -h

usage: ping-multi [-h] [--version] [--hosts-max-width HOSTS_MAX_WIDTH] [-s {Last,Loss%,Avg,Min,Max,StDev,RX_cnt,TX_cnt,XX_cnt}] [-f FILE]
                  [-W SECS] [-i SECS] [-L COUNT_LIMIT] [-C]
                  [host ...]

Ping all hosts from FILE and HOSTs.

positional arguments:
  host                  host to ping; you can specify this option many times

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --hosts-max-width HOSTS_MAX_WIDTH
                        maximum width of the hosts column; default=0
  -s {Last,Loss%,Avg,Min,Max,StDev,RX_cnt,TX_cnt,XX_cnt}, --stat {Last,Loss%,Avg,Min,Max,StDev,RX_cnt,TX_cnt,XX_cnt}
                        statistic to display initially; default=Last
  -f FILE, --file FILE  read list of hosts from file
  -W SECS, --wait SECS  timeout in seconds to wait for a ping reply; default=1
  -i SECS, --interval SECS
                        time in seconds between sending each request; default=1
  -L COUNT_LIMIT, --count-limit COUNT_LIMIT
                        limit the number of hosts; avoids unintended bulk actions; default=600
  -C, --cidr-debug      debug IPv4 CIDR expansion

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ping_multi_ext-1.1.0.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

ping_multi_ext-1.1.0-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file ping_multi_ext-1.1.0.tar.gz.

File metadata

  • Download URL: ping_multi_ext-1.1.0.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for ping_multi_ext-1.1.0.tar.gz
Algorithm Hash digest
SHA256 1ccca3ec235861ae4f15ace34b18d6c3dfe82f18dfa22d37f11556c821fa7404
MD5 689548292ae1da5bcd2cff61402a85d7
BLAKE2b-256 893023b9b58943158fa3e6b05e2c2ce49feb95e2a6d46bda46087b3211a46010

See more details on using hashes here.

File details

Details for the file ping_multi_ext-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ping_multi_ext-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f211233cda3ec640f5e6c650ad1d0a3170162ac943ea3ee2ea3c95d9f79aa3c9
MD5 e610c05bf7cb5114465b7e358875c313
BLAKE2b-256 a31aca5a5bbfea0b7124ddfc4b85bf819aa4cbf4b6bf6a334f233a18ae5790b0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page