Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
FPING(8)							      FPING(8)

NAME
       fping - send ICMP ECHO_REQUEST packets to network hosts

SYNOPSIS
       fping [ options ] [ systems... ]

DESCRIPTION
       fping is	a program like ping which uses the Internet Control Message
       Protocol	(ICMP) echo request to determine if a target host is
       responding.  fping differs from ping in that you	can specify any	number
       of targets on the command line, or specify a file containing the	lists
       of targets to ping.  Instead of sending to one target until it times
       out or replies, fping will send out a ping packet and move on to	the
       next target in a	round-robin fashion.  In the default mode, if a	target
       replies,	it is noted and	removed	from the list of targets to check; if
       a target	does not respond within	a certain time limit and/or retry
       limit it	is designated as unreachable. fping also supports sending a
       specified number	of pings to a target, or looping indefinitely (as in
       ping ). Unlike ping, fping is meant to be used in scripts, so its
       output is designed to be	easy to	parse.	Current	statistics can be
       obtained	without	termination of process with signal SIGQUIT (^\ from
       the keyboard on most systems).

OPTIONS
       -4, --ipv4
	    Restrict name resolution and IPs to	IPv4 addresses.

       -6, --ipv6
	    Restrict name resolution and IPs to	IPv6 addresses.

       -a, --alive
	    Show systems that are alive.  (Options -c and -C override -a.)

       -A, --addr
	    Display targets by address rather than DNS name. Combined with -d,
	    the	output will be both the	ip and (if available) the hostname.

       -b, --size=BYTES
	    Number  of bytes of	ping data to send.  The	minimum	size (normally
	    12)	allows room for	the data that  fping  needs  to	 do  its  work
	    (sequence  number,	timestamp).   The  reported received data size
	    includes the IP header (normally 20	 bytes)	 and  ICMP  header  (8
	    bytes),  so	the minimum total size is 40 bytes.  Default is	56, as
	    in ping. Maximum is	 the  theoretical  maximum  IP	datagram  size
	    (64K),  though  most  systems  limit  this	to  a smaller, system-
	    dependent number. Cannot be	used together with --icmp-timestamp.

       -B, --backoff=N
	    Backoff factor. In the default mode, fping sends several  requests
	    to	a  target before giving	up, waiting longer for a reply on each
	    successive request.	 This parameter	is the value by	which the wait
	    time (-t) is multiplied on each successive	request;  it  must  be
	    entered as a floating-point	number (x.y). The default is 1.5.

       -c, --count=N
	    Number of request packets to send to each target.  In this mode, a
	    line  is displayed for each	received response (this	can suppressed
	    with -q or -Q).  Also, statistics about responses for each	target
	    are	  displayed   when  all	 requests  have	 been  sent  (or  when
	    interrupted).  This	option overrides -a or -u.

       -C, --vcount=N
	    Similar to -c, but the per-target statistics are  displayed	 in  a
	    format  designed for automated response-time statistics gathering.
	    For	example:

	     $ fping -C	5 -q somehost
	     somehost :	91.7 37.0 29.2 - 36.8

	    shows the response time in	milliseconds  for  each	 of  the  five
	    requests, with the "-" indicating that no response was received to
	    the	fourth request.	 This option overrides -a or -u.

       --check-source
	    Discard  Echo  replies  that  are sourced from a different address
	    than the target address. This avoids spurious reachability results
	    on busy monitoring systems where two fping instances with the same
	    lower 16 bits of the process ID may	be running at the same time.

       -d, --rdns
	    Use	DNS to lookup address of ping target. This allows you to  give
	    fping  a  list of IP addresses as input and	print hostnames	in the
	    output. This is similar to option  -n/--name,  but	will  force  a
	    reverse-DNS	  lookup   even	  if  you  give	 hostnames  as	target
	    (NAME->IP->NAME).

       -D, --timestamp
	    Add	Unix timestamps	in front of output  lines  generated  with  in
	    looping or counting	modes (-l, -c, or -C).

	    Subcommand:	--timestamp-format=ctime|iso|rfc3339

	    Allow  to  change  the  timestamp  format  of the -D option	to the
	    following format types.

	    ctime = "%c" (Example: Mon Jun 10 07:50:00 2024)

	    iso	= "%Y-%m-%dT%T%z" (Example: 2024-06-10T07:50:00+0200)

	    rfc3339 = "%Y-%m-%d	%H:%M:%S" (Example: 2024-06-10 07:50:00)

       -e, --elapsed
	    Show elapsed (round-trip) time of packets.

       -f, --file
	    Read list of targets from a	file.

       -g, --generate addr/mask
	    Generate a target list from	a supplied IP netmask, or  a  starting
	    and	 ending	 IP.   Specify the netmask or start/end	in the targets
	    portion of the command line. If an IPv4 network  with  netmask  is
	    given, the network and broadcast addresses will be excluded.

	    Example: To	ping the network 192.168.1.0/24, the specified command
	    line could look like either:

	     $ fping -g	192.168.1.0/24

	    or

	     $ fping -g	192.168.1.1 192.168.1.254

       -h, --help
	    Print usage	message.

       -H, --ttl=N
	    Set	the IP TTL field (time to live hops).

       --print-ttl
	    Displays  the IPv4 TTL value from the IP Header in the output.  If
	    fping cannot read the TTL value, "(TTL unknown)" is	returned.

       -i, --interval=MSEC
	    The	minimum	amount of time (in  milliseconds)  between  sending  a
	    ping packet	to any target (default is 10, minimum is 0 (1 for non-
	    root users if fping	was configured with "--enable-safe-limits")).

       -I, --iface=IFACE
	    Set	the interface (requires	SO_BINDTODEVICE	support).

       --icmp-timestamp
	    Send  ICMP	timestamp requests (ICMP type 13) instead of ICMP Echo
	    requests.  Print  ICMP  timestamps	for  originate,	 receive,  and
	    transmit, together with the	local receive time in the same format,
	    in	addition  to  normal  output.  Cannot be used together with -b
	    because ICMP timestamp messages have a  fixed  size.   IPv4	 only,
	    requires root privileges or	cap_net_raw.

       -J, --json
	    Format output JSON (-c, -C,	or -l required)

	    Example usage:

	     $ fping -J	-c 1 127.0.0.1

	    or

	     $ fping -J	-s -c 1	-q 127.0.0.1

       -k, --fwmark=FWMARK
	    Set	 FWMARK	 on  ping  packets  for	policy-based routing. Requires
	    Linux kernel 2.6.25<=, and root privileges or cap_net_admin.

       -l, --loop
	    Loop  sending  packets  to	each  target  indefinitely.   Can   be
	    interrupted	 with  Ctrl-C;	statistics  about  responses  for each
	    target are then displayed.

       -m, --all
	    Send pings to each of a target host's multiple IP  addresses  (use
	    of option '-A' is recommended).

       -M, --dontfrag
	    Set	  the	"Don't	Fragment"  bit	in  the	 IP  header  (used  to
	    determine/test the MTU).

       -n, --name
	    If targets are specified as	IP addresses, do a reverse-DNS	lookup
	    on them to print hostnames in the output.

       -N, --netdata
	    Format   output   for   netdata   (-l   -Q	 are  required).  See:
	    <https://netdata.cloud/>

       -o, --outage
	    Calculate "outage time" based on the number	of lost	pings and  the
	    interval used (useful for network convergence tests).

       -O, --tos=N
	    Set	 the  typ  of  service	flag (TOS). N can be either decimal or
	    hexadecimal	(0xh) format.

       --print-tos
	    Displays the TOS value in the output. If fping cannot read the TOS
	    value, "(TOS unknown)" is returned.

       -p, --period=MSEC
	    In looping or counting modes (-l, -c, or -C), this parameter  sets
	    the	 time  in  milliseconds	 that  fping  waits between successive
	    packets to an individual target. Default is	1000  and  minimum  is
	    0.001  (10	for  non-root  users  if  fping	 was  configured  with
	    "--enable-safe-limits").

       -q, --quiet
	    Quiet. Don't show per-probe	results, but only the  final  summary.
	    Also don't show ICMP error messages.

       -Q, --squiet=SECS[,cumulative]
	    Like -q, but additionally show interval summary results every SECS
	    seconds. With cumulative, show summary results since start instead
	    of for the last interval, unless option -N is used,	too.

       -r, --retry=N
	    Retry limit	(default 3). This is the number	of times an attempt at
	    pinging a target will be made, not including the first try.

       -R, --random
	    Instead  of	 using	all-zeros  as the packet data, generate	random
	    bytes.  Use	to defeat, e.g., link data compression.

       -s, --stats
	    Print cumulative statistics	upon exit.

       -S, --src=addr
	    Set	source address.

       --seqmap-timeout=MSEC
	    Timeout for	sequence number	 mappings  in  milliseconds.  Sequence
	    numbers  can  be  reused  after  the timeout. The default value is
	    10000ms.

       -t, --timeout=MSEC
	    Initial target timeout in milliseconds. In the  default,  non-loop
	    mode,  the	default	timeout	is 500ms, and it represents the	amount
	    of time that fping waits for a  response  to  its  first  request.
	    Successive timeouts	are multiplied by the backoff factor specified
	    with -B.

	    In	loop/count mode, the default timeout is	automatically adjusted
	    to match the "period" value	(but not more than  2000ms).  You  can
	    still  adjust  the timeout value with this option, if you wish to,
	    but	note that  setting  a  value  larger  than  "period"  produces
	    inconsistent  results,  because the	timeout	value can be respected
	    only for the last ping.

	    Also note that any received	 replies  that	are  larger  than  the
	    timeout value, will	be discarded.

       -T n Ignored (for compatibility with fping 2.4).

       -u, --unreach
	    Show  targets  that	 are unreachable.  (Options -c and -C override
	    -u.)

       -v, --version
	    Print fping	version	information.

       -x, --reachable=N
	    Given a list of hosts, this	mode checks  if	 number	 of  reachable
	    hosts is >=	N and exits true in that case.

       -X, --fast-reachable=N
	    Given  a  list  of	hosts, this mode immediately exits true	once N
	    alive hosts	have been found.

EXAMPLES
       Generate	20 pings to two	hosts in ca. 1 second (i.e. one	ping every  50
       ms to each host), and report every ping RTT at the end:

	$ fping	--quiet	--interval=1 --vcount=20 --period=50 127.0.0.1 127.0.0.2

AUTHORS
          Roland  J.  Schemers	III, Stanford University, concept and versions
	   1.x

          RL "Bob" Morgan, Stanford University, versions 2.x

          David Papp, versions	2.3x and up

          David Schweikert, versions 3.0 and up

       fping website: <http://www.fping.org>

DIAGNOSTICS
       Exit status is 0	if all the hosts (or the  number  of  hosts  specified
       with  -x	 or  -X)  are reachable, 1 if some (or too many	with -x	or -X)
       hosts were unreachable, 2 if any	IP addresses were  not	found,	3  for
       invalid command line arguments, and 4 for a system call failure.

RESTRICTIONS
       The  number of addresses	that can be generated using the	-g, --generate
       option is limited to 131072  (the  number  of  host  addresses  in  one
       111-bit	IPv6 prefix, two addresses more	than the host addresses	in one
       15-bit IPv4 prefix).

       The length of target names read from file or standard input is  limited
       to 255 bytes.

       The  minimum  interval  for sending successive packets to an individual
       target set with the -p n	option is 0.001	msec.

       If fping	was  configured	 with  "--enable-safe-limits",	the  following
       values are not allowed for non-root users:

          -i n, where n < 1 msec

          -p n, where n < 10 msec

SEE ALSO
       ping(8)

fping				  2025-12-31			      FPING(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=fping6&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help