schweikert / fping

High performance ping tool
https://fping.org
Other
1.01k stars 249 forks source link

-u does not work when -c is used #274

Closed asarubbo closed 4 months ago

asarubbo commented 1 year ago
 ~ $ fping -v
fping: Version 5.1

This works for me:

~ $ fping -4 -r 1 -t 1000 10.10.5.90 10.10.5.1 -q -u
10.10.5.90

However when I add -c it doesn't

 ~ $ fping -4 -r 1 -t 1000 10.10.5.90 10.10.5.1 -q -u -c 1
10.10.5.90 : xmt/rcv/%loss = 1/0/100%
10.10.5.1  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.171/0.171/0.171

Because it also prints about reachable targets.

auerswal commented 7 months ago

I am not really sure what you want to achieve with the above fping invocation.

It seems to me as if fping -u -r 1 10.10.5.90 10.10.5.1 already provides all the interesting information. So what purpose have the options -c 1 -q? Do you attempt to get the following output (I am using two different IP addresses for illustration)?

$ fping -r1 -q -u -c1 8.8.8.7 8.8.8.8 2>&1 | grep -v ,
8.8.8.7 : xmt/rcv/%loss = 1/0/100%

Since the fping command line specifies to send just one echo request, the statistics can be added with, e.g., sed:

$ fping -r1 -u 8.8.8.7 8.8.8.8 | sed 's,$, : xmt/rcv/%loss = 1/0/100%,'
8.8.8.7 : xmt/rcv/%loss = 1/0/100%

It seems to me as if just -u -r N already provides all the information the combination of -r 1 -c N -q -u can give.

asarubbo commented 7 months ago

I am not really sure what you want to achieve with the above fping invocation.

I was just saying that by adding -c 1 (so just a count) it prints out the reachable targets and their stats, while with -q it shouldn't.

auerswal commented 7 months ago

The option -c N prints one output line for every received reply or timeout, and one summary line per target at the end.

The combination -c N -q only prints the summary line per target, but not the individual per-probe reports.

If you want the output format of -u, i.e., just the Name or IP address of each unreachable target, but want fping to try several times to reach each target, you can use -r N optionally combined with -B 1, instead of using -c N. (By default, fping uses -r 3.)