High performance ping tool [Fork of github.com/schweikert/fping]
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Erik Auerswald 290d944b56 Defensive coding: guard against a division by zero
In the function print_per_system_stats(), if packets have been
lost, the number of sent packets is checked to be positive before
dividing by it.  If no packets have been lost, this is not checked.
Either the existing check is not needed, or both code paths need
the check.

The function print_per_system_splits() is quite similar to
print_per_system_stats(), and has the equivalent guards against a
division by zero in both code paths, not just one of them.

In the spirit of defensive coding, I think it is better to be safe
and add the missing guard against a division by zero.
11 months ago
.github/workflows Fix deprected github action ubuntu-18.04 to ubuntu-22.04 1 year ago
ci Test examples from man page 12 months ago
contrib Add --fwmark/-k option for Linux 12 months ago
doc Update exit status description in man page 11 months ago
src Defensive coding: guard against a division by zero 11 months ago
.dockerignore Dockerfile for fping 1 year ago
.gitignore reformat 8 years ago
.travis.yml travis-ci: fix deploy stage 4 years ago
CHANGELOG.md update changelog and 5.1 release date 3 years ago
COPYING Clarify COPYING 11 years ago
INSTALL Improve README and INSTALL 13 years ago
Makefile.am avoid including ci/build in dist tarball 5 years ago
README.md Add --fwmark/-k option for Linux 12 months ago
autoclean.sh add missing files to autoclean.sh 3 years ago
autogen.sh remove generated files 13 years ago
azure-pipelines.yml Update Azure Pipline based on travis-ci tuning 4 years ago
configure.ac Change obsolete macro from AC_CANONICAL_SYSTEM to AC_CANONICAL_TARGET 1 year ago

README.md

Build Status Coverage Status Coverity Scan Build Status

fping

fping is a program to send ICMP echo probes to network hosts, similar to ping, but much better performing when pinging multiple hosts. fping has a long long story: Roland Schemers did publish a first version of it in 1992 and it has established itself since then as a standard tool.

Current maintainer:
David Schweikert <david@schweikert.ch>

Website:
https://fping.org/

Mailing-list:
https://groups.google.com/group/fping-users

Installation

If you want to install fping from source, proceed as follows:

  1. Run ./autogen.sh (only if you got the source from Github).
  2. Run ./configure with the correct arguments. (see: ./configure --help)
  3. Run make; make install.
  4. Make fping either setuid, or, if under Linux: sudo setcap cap_net_raw,cap_net_admin+ep fping

If you can't run fping as root or can't use the cap_net_raw capability, you can also run fping in unprivileged mode. This works on MacOS and also on Linux, provided that your GID is included in the range defined in /proc/sys/net/ipv4/ping_group_range. This is particularly useful for running fping in rootless / unprivileged containers. The --fwmark option needs root or cap_net_admin. setuid will not work for --fwmark.

Usage

Have a look at the fping(8) manual page for usage help. (fping -h will also give a minimal help output.)

Credits