LinuxCommandLibrary

fping

Ping multiple hosts simultaneously

TLDR

List the status of all hosts within a range

$ fping [192.168.1.{1..254]}
copy

List alive hosts within a subnet generated from a netmask
$ fping [[-a|--alive]] [[-g|--generate]] [192.168.1.0/24]
copy

List alive hosts within a subnet generated from an IP range and prune per-probe results
$ fping [[-q|--quiet]] [[-a|--alive]] [[-g|--generate]] [192.168.1.1] [192.168.1.254]
copy

List unreachable hosts within a subnet generated from a netmask
$ fping [[-u|--unreach]] [[-g|--generate]] [192.168.1.0/24]
copy

SYNOPSIS

fping [options] [hosts...]

PARAMETERS

-a
    Show hosts found to be alive.

-A
    Show reachable hosts with best average RTT.

-u
    Show hosts found unreachable.

-g host1[:host2]/netmask
    Generate hosts from IP range or CIDR.

-f file
    Read hosts from file, one per line.

-c count
    Send count pings per host.

-C count
    Send count ping rounds to all hosts.

-i interval
    Minimum interval between pings to same host (ms).

-t timeout
    Timeout before considering host unreachable (ms).

-p pps
    Packets per second limit.

-r retries
    Number of ping retries.

-l
    Loop forever, pinging until interrupted.

-q
    Quiet mode, only summary output.

-v
    Verbose output.

-4
    Force IPv4.

-6
    Force IPv6.

DESCRIPTION

fping is a high-performance ping-like utility designed for sending ICMP echo requests to multiple hosts concurrently, rather than sequentially like the standard ping command. This parallelism enables rapid scanning of large networks, making it invaluable for tasks such as network discovery, monitoring availability, and troubleshooting connectivity across numerous devices.

It supports pinging hosts from command line arguments, files, or generated ranges (e.g., CIDR notation), with customizable timeouts, retry counts, intervals, and packet rates. Output can be filtered to show only reachable (-a), unreachable (-u), or best-round-trip hosts (-A). fping reports results as they arrive, typically in a summary format listing host status and round-trip times (RTT).

Ideal for scripting and automation, fping is faster and more efficient for bulk operations, often completing scans of hundreds of hosts in seconds. It handles IPv4 and IPv6, bind to interfaces, and quiet modes for integration into larger tools.

CAVEATS

Requires raw socket access (often root privileges); high packet rates may trigger network firewalls or IDS; results unreliable for hosts with ICMP rate limiting; not suitable for precise latency measurement due to parallelism.

COMMON EXAMPLE

fping -a -g 192.168.1.0/24
Scan subnet, show only alive hosts.

EXIT CODES

0: all hosts reachable; 1: some unreachable; 2: all unreachable; others: errors.

HISTORY

Originally developed by Roland J. Van der Veen in the early 1990s as a faster alternative to ping for network admins. Maintained and enhanced over decades; current versions (e.g., 5.x) by Alexey Kuznetsov, with IPv6 support, better performance, and scripting features. Widely used in Linux distributions via fping package.

SEE ALSO

ping(8), arping(8), hping3(8), nmap(1)

Copied to clipboard