Am I the only one that finds the MS Windows ping more useful for quick troubleshooting that the Linux/Unix variants? A few weeks ago I was dealing poor performance on my cable modem. When I pinged a valid IP, I was seeing the successful packets only. It didn't show time-out packets until the summary displayed on exit. This makes it useless for quick real-time monitoring. MS ping on the other hand will show time-outs along with the successful ones.
Why is Linux ping this way? Is this a fundamental design flaw?
based on a quick perusal of the man page, the -O option will show something like "no answer yet for icmp_seq=19" when a packet doesn't get a response in time for the next one, and at least for me the default shows the icmp_seq which increases by one for each packet sent, but is only printed on each receipt (so you can spot missing ones).
One theoretical problem with this is that it's impossible to know for sure that a packet has been lost and there's no one-size-fits-all timeout to use. On most links it doesn't matter too much, but that may be the reasoning. I've seen ping times spike in excess of two minutes on real-world internet connections (abusing 1xRTT data through a RAZR back when those were still cool) and it was... if not useful, at least interesting, to know that the data wasn't actually being dropped but was just taking a really long time.
That's fine on your local network. If you're pinging a system out of your local network, what you're doing is considered by many to be a denial of service attack.
It's not even close to the most effective denial of service attack, but if I were to do that from my 100 Mbps Internet line I could overwhelm many company's Internet lines with a simple ping flood.
Sure. I added "local" about a second after posting for this reason. However even with -f you can just specify an interval when running tests outside your lan.
It still writes icmp_seq, which increases by one for each subsequent packet sent - based on this you can spot any missing responses. Indeed not as visible as in Windows though.
I loved the bit about piping ping through sed through vocoder, playing it on the stereo at 11, and finding the network fault by seeing which wiggled connector caused silence.
A coworker and I once did a similar thing (Just a beep, no vocoder) to isolate a faulty switch. This switch had been causing horrible problems (data corruption style) for weeks and we just couldn't find it.
It's the only time I've ever seen my friend violent or aggressive. Upon find the switch he calmly unplugged everything, and then threw the switch at a concrete wall. I understood the sentiment.
I had a friend do the same thing when we were trying to get point-to-point wireless between our houses. He was wandering over my roof with his laptop held in the air, with it chirping 'yes yes yes yes' as it found the better areas of connectivity (his commandline used 'yes', but can't recall it).
My first thought is that if you had to do that these days, you'd just run a terminal app on your phone over WiFi or something of the sort. My second thought is that the vocoder solution is basically setting up a one-way human-compatible wireless network over sonar.
[1]https://en.wikipedia.org/wiki/Mike_Muuss