schweikert/fping
FreeHigh performance ping tool
FreeFree tier
About schweikert/fping
fping is a high-performance network tool that sends ICMP echo probes to multiple hosts, similar to the standard ping command but optimized for scanning many targets simultaneously. Originally published by Roland Schemers in 1992, it has become a standard tool for network monitoring and discovery. fping supports both IPv4 and IPv6, can run in unprivileged mode on Linux and macOS, and is available as a Docker image. It is open source under a BSD license, maintained by David Schweikert, and hosted on GitHub.
Key Features
Sends ICMP echo probes to multiple network hosts simultaneously
Much better performance than standard ping when pinging many hosts
Supports IPv4 and IPv6 (initial IPv6 support contributed by Jeroen Massar)
Unprivileged mode on Linux and macOS using ping_group_range or setcap
Docker image available from GitHub Container Registry
Supports setuid and Linux capabilities (cap_net_raw, cap_net_admin) for operation without full root
--fwmark option for firewall marking (requires root or cap_net_admin)
Long history and wide adoption since 1992
BSD licensed open source
Pros & Cons
Pros
- Significantly faster than standard ping when probing multiple hosts
- Open source with permissive BSD license
- Well-established and widely used in network administration
- Supports both IPv4 and IPv6
- Can run without root privileges on modern Linux and macOS systems
- Available as a Docker container for easy deployment
Cons
- Command-line only; no graphical interface
- Some advanced options (e.g., --fwmark) require root or Linux capabilities
- Unprivileged mode may require kernel configuration (ping_group_range) or system setup
- Docker usage adds overhead compared to native execution
Best For
Network monitoring and alerting for host availabilityNetwork discovery and mapping (scanning subnets for live hosts)Performance comparison and latency measurement across multiple hostsAutomated health checks in scripts or monitoring systemsUnprivileged container environments requiring ping functionality
FAQ
What is fping?
fping is a high-performance tool for sending ICMP echo probes (pings) to multiple network hosts. It is similar to the standard ping command but optimized for scanning many hosts simultaneously, making it ideal for network monitoring and discovery.
How do I install fping from source?
You can build fping from source by running ./autogen.sh (if cloned from GitHub), then ./configure, followed by make and make install. You may also need to set the setuid bit or use setcap on Linux to allow non-root usage.
Can fping run without root privileges?
Yes, fping supports unprivileged mode on macOS and Linux. On Linux, your GID must be within the range defined in /proc/sys/net/ipv4/ping_group_range. You can also use setcap cap_net_raw,cap_net_admin+ep to grant capabilities.
Is fping available as a Docker image?
Yes, a Docker image is available from the GitHub Container Registry at ghcr.io/schweikert/fping:latest. You can run it with podman or docker.
What license does fping use?
fping is licensed under a BSD license, as indicated by the 'bsd-license' topic and the COPYING file in the repository.