All Projects β†’ famzah β†’ ping-multi

famzah / ping-multi

Licence: MIT license
Interactively ping multiple hosts from one location

Programming Languages

perl
6916 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to ping-multi

pexpo
πŸ’» Terminal sending ping tool written in Go.
Stars: ✭ 89 (+493.33%)
Mutual labels:  multi-platform, ping
PingoMeter
PingoMeter - is a small portable program that show your ping in Windows system tray
Stars: ✭ 91 (+506.67%)
Mutual labels:  ping
pysces
The official PySCeS project source code repository.
Stars: ✭ 25 (+66.67%)
Mutual labels:  console-application
fbida
ida (motif) and fbi (linux console) image viewers, also fbpdf & misc tools.
Stars: ✭ 41 (+173.33%)
Mutual labels:  console-application
gansoi
πŸ‘½ Awesome Infrastructure Monitoring and Alerting
Stars: ✭ 31 (+106.67%)
Mutual labels:  ping
Xamarin.Forms.Platform.Avalonia
Xamarin Forms platform implemented with Avalonia (A multi-platform .NET UI framework)
Stars: ✭ 36 (+140%)
Mutual labels:  multi-platform
stochpy
StochPy is a versatile stochastic modeling package which is designed for stochastic simulation of molecular control networks
Stars: ✭ 36 (+140%)
Mutual labels:  console-application
lapdog
Take actions when specific devices appear/disappear from your LAN
Stars: ✭ 17 (+13.33%)
Mutual labels:  ping
QDNetDiagnostics
iOSη½‘η»œζ΅‹θ―•ε°ε·₯ε…·
Stars: ✭ 23 (+53.33%)
Mutual labels:  ping
webping.cloud
Test your network latency to the nearest cloud provider in AWS, Azure, GCP, Alibaba Cloud, IBM Cloud, Oracle Cloud and DigitalOcean directly from your browser.
Stars: ✭ 60 (+300%)
Mutual labels:  ping
smooth
The smooth Class Library
Stars: ✭ 23 (+53.33%)
Mutual labels:  multi-platform
dstp
πŸ§ͺ Run common networking tests against any site.
Stars: ✭ 919 (+6026.67%)
Mutual labels:  ping
ilua
Portable Lua kernel for Jupyter
Stars: ✭ 99 (+560%)
Mutual labels:  console-application
rnp
A simple layer 4 ping tool for cloud.
Stars: ✭ 51 (+240%)
Mutual labels:  ping
wifianalyse
simple bash script to monitor wifi signal and ping time
Stars: ✭ 49 (+226.67%)
Mutual labels:  ping
Flex-AntiCheat
Flex AntiCheat - Optimized Configs For Multiple AntiCheats
Stars: ✭ 37 (+146.67%)
Mutual labels:  ping
gtkmm-plplot
a scientific plotting library for Gtkmm leveraging the power of PLplot
Stars: ✭ 59 (+293.33%)
Mutual labels:  multi-platform
jExifToolGUI
jExifToolGUI is a multi-platform java/Swing graphical frontend for the excellent command-line ExifTool application by Phil Harvey
Stars: ✭ 267 (+1680%)
Mutual labels:  multi-platform
ping-viewer
Ping Viewer is an open-source application to view and record data from the Blue Robotics Ping Echosounder
Stars: ✭ 30 (+100%)
Mutual labels:  ping
kotlin-multiplatform-recipes
Recipes for building multi-platform Kotlin modules.
Stars: ✭ 78 (+420%)
Mutual labels:  multi-platform

ping-multi

Interactively ping one or multiple hosts from a single location.

Screenshot 1:

Ping-multi Screenshot 1

Screenshot 2:

Ping-multi Screenshot 2

Motivation

A Perl implementation which is easy to install and is also cross-platform.

Description

Ping-multi reads hosts from a file and sends ICMP ECHO_REQUEST to them. This is the same as the standard "ping", only executed in parallel for many hosts.

The results are displayed in an interactive curses text console which features the following:

  • "Hostname" or "Resolved IP" view of the hosts
  • Statistics about the ping results of each host:
    • Last round-trip-time (RTT)
    • Packet loss %
    • Average RTT
    • Minimum RTT
    • Maximum RTT
    • Standard deviation of the RTT
    • Received and Transmitted packets count
  • Ping history:
    • simple view showing received (.) and lost (X) reply packets
    • scaled view which additionally visualizes the RTT value using the numbers between 0 and 9

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

The host status changes can be logged to a file. This allows you to review the time of each event.

Installation

The program depends on the following additional Perl modules:

  • Curses
  • JSON
  • Statistics::Descriptive

On Debian/Ubuntu you can install them using the following command:

sudo apt-get install libcurses-perl libjson-perl libstatistics-descriptive-perl

Example

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

sudo ./ping-multi google.com github.com

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

sudo ./ping-multi -f sample.list

Ping and log up/down events to a file:

sudo ./ping-multi -l events.log google.com github.com

Ping hosts synchronously; this comment explains when this ping method is useful:

sudo ./ping-multi -S 192.168.0.1 192.168.0.2 192.168.0.15

Required privileges

Making ICMP ping requests requires "root" privileges on Linux.

Alternatively, you can and you should get advantage of the Linux capabilities and execute "ping-multi" with an unprivileged user who only has the CAP_NET_RAW capability. In such a case you need to define the environment variable PING_MULTI_NO_ROOT_CHECK, because the Perl module Net::Ping doesn't detect Linux capabilities. Here is a quick example, but do you own research on how to assign capabilities to a process:

sudo setpriv --reuid nobody --regid nogroup --init-groups \
	--inh-caps -all,+net_raw --ambient-caps -all,+net_raw \
	env PING_MULTI_NO_ROOT_CHECK=1 \
	./ping-multi google.com github.com

Docker

You can also use Docker to run ping-multi:

docker run --rm -it chrislwade/ping-multi
docker run --rm -it chrislwade/ping-multi google.com github.com
docker run --rm -it chrislwade/ping-multi -f sample.list
docker run --rm -it chrislwade/ping-multi -l events.log google.com github.com
docker run --rm -it chrislwade/ping-multi -S 192.168.0.1 192.168.0.2 192.168.0.15

The Docker image is maintainted by @chrislwade.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].