A better way to monitor my internet connection other than ping

You are looking for mtr. I always leave mtr 8.8.8.8 running.

If you're not familiar with 8.8.8.8, it's Google's global DNS service, using anycast, so you always get a nearby node, and it's a dead easy IP to remember. So it works no matter where you are located, and if you move.

Once mtr starts press d once, then you'll see the last X pings, beautiful.

                            My traceroute  [v0.82]
host.local (0.0.0.0)                                   Sat Jun 14 14:10:27 2014
Keys:  Help   Display mode   Restart statistics   Order of fields   quit

                             Last  50 pings
 1. 192.168.1.1              .....?.........?...............?.........??.......
 2. 87.186.224.71            ..................................................
 3. 87.190.171.194           ..................................................
 4. b-ea6-i.B.DE.NET.DTAG.DE ..................................................
 5. 194.25.211.30            ..................................................
 6. 209.85.249.182           ..................................................
 7. 66.249.95.175            ..................................................
 8. 216.239.48.53            ..................................................
 9. 0.0.0.0                  ??????????????????????????????????????????????????
10. google-public-dns-a.goog .................................................?

Scale:  .:3 ms  1:6 ms  2:9 ms  3:17 ms  a:35 ms  b:53 ms  c:85 ms

Pro tip: Stretch your window to the last 200 pings... :-)


If all of your devices can do SNMP, you could use MRTG http://oss.oetiker.ch/mrtg/

Alternately, you could run smokeping. http://oss.oetiker.ch/smokeping/

Either one should give you some nice graphs, you can see when your network use is high, when it's utterly flat, etc.

You can use Nagios to alert you when there's a problem, smokeping might do it to, it's been awhile since I've used it.


I created this simple batch file:

@echo off
echo Internet Service Availability for %date%
:again
ping 70.45.95.8 -n 1 -l 1
time /T
timeout /T 300 > nul
goto again

Run it redirecting it to a file the like c:>run.bat > statuslog.txt. The /T flag of the timeout command sets the pooling time interval, in this case 5 minutes. The /T flag for the time command provides the time stamp. You can then check the created file for reply or request time out patterns.

Another alternative (the one I prefer), is to use one of the following freeware utilities that provides a more professional result:

Pingplotter Freeware
EMCO Ping Monitor free
Internet Connectivity Monitor (java app)