fping is a
ping like program which uses the Internet Control Message Protocol (ICMP) echo request to determine if a host is up. fping is different from ping in that you can specify any number of hosts on the command line, or specify a file containing the lists of hosts to
ping . Instead of trying one host until it timeouts or replies,
fping will send out a ping packet and move on to the next host in a round-robin fashion. If a host replies, it is noted and removed from the list of hosts to check. If a host does not respond within a certain time limit and/or retry limit it will be considered unreachable.
fping version 3
fping was written by Roland Schemers in 1992, and stopped being updated in 2002. In December 2011, David Schweikert decided to take up maintainership of
fping , and increased the major release number to 3, mainly to reflect the change of maintainer. Changes from earlier versions include:
- integration of all Debian patches, including IPv6 support (2.4b2-to-ipv6-16)
- an optimized main loop that is claimed to bring performance close to the theoretical maximum
- patches to improve SmokePing compatibility
Since July 2013, there is also a Mailing List, which will be used to announce new releases.
Simple example of usage:
Jeroen Massar has added IPv6 support to
fping . This has been implemented as a compile-time variant, so that there are separate
fping (for IPv4) and
fping6 (for IPv6) binaries. The IPv6 patch has been partially integrated into the
fping version on
www.fping.com as of release "2.4b2_to-ipv6" (thus also integrated in
fping 3.0). Unfortunately his modifications to the build routine seem to have been lost in the integration, so that the
fping.com version only installs the IPv6 version as
fping . Jeroen's original version doesn't have this problem, and can be downloaded from his IPv6 Web page.
ICMP Sequence Number handling
Older versions of
fping used the Sequence Number field in ICMP ECHO requests in a peculiar way: it used a different sequence number for each destination host, but used the same sequence number for all requests to a specific host. There have been reports of specific systems that suppress (or rate-limit) ICMP ECHO requests with repeated sequence numbers, which causes high loss rates reported from tools that use
fping , such as SmokePing. Another issue is that
fping could not distinguish a perfect link from one that drops every other packet and that duplicates every other.
fping versions such as 3.0 or 2.4.2b2_to (on Debian GNU/Linux) include a change to sequence number handling attributed to Stephan Fuhrmann. These versions increment sequence numbers for every probe sent, which should solve both of these problems.
– Main.BartoszBelter - 2005-07-14 - 2005-07-26
– Main.SimonLeinen - 2008-05-19 - 2013-07-26