Net Tools
Home Page Up FAQs Registrations What's New? Audio Tools Components Disk Utilities Image Utilities Mapping Tools Net Tools Satellite Tools Runtimes Translations Custom programs Beta versions NTP Windows-10 notes


I am making available some Windows network tools that I have developed for my own use.  

Purely amateur use of these programs is free of charge, but use of these programs for any commercial or for-profit purposes requires registration.  If you like these programs, and wish to say "Thank you", or if you want technical support, you can register my Network Tools, or by sending me an Amazon Gift Certificate here:

My e-mail for Amazon is:


Your ISP offers you 30MB of disk space, but doesn't tell you how much space is used!  This tool enables you to get a usage piechart from your FTP service, showing which directories are taking the most space, and to drill down into those directories to see which are the largest files.  Simply double-click on a pie segment to drill down!

FTPpie is recommended by Blueyonder (UK broadband ISP, now Virgin Media), and works on Linux under WINE.

V1.4.0 approximate folder space occupied as well, trap potential error with UNIX servers, don't require separate  run-time library

  Download Download FTPpie V1.4.0  (254,275 bytes;  2008 Dec 30)

Simply enter your user details and click on the Open site button:

Site details form

and you will see the program working to retrieve your Web space usage details.  Please note that the site name and directory details will be different for your ISP.  Once the program has finished, a pie-chart like the one below will be displayed, and you can double-click on a directory to drill down and see its contents.  This makes it very easy to clear out the maximum space with the minimum effort!

Screen shot of FTPpie at work


Blueyonder Users Update

For the recently released PWP2 service you will specify your address differently. Your old FTP upload address was: www.<aliasname>, but instead you should now use: and enter your <aliasname> and <password> in the site details dialog.


NTP monitor

This program allows you to compare your PC clock with a number of external sources.  You may have an Internet or GPS time service, but is your PC accurately synchronised to those sources, and how do they compare with one another?  For the most accurate synchronisation, your PC needs an NTP client, which will connect to an NTP service on the Internet.  Perhaps your ISP already provides such a service?

  • What is NTP?  It's the Network Time Protocol.  As you can see from the screenshot below, it enables you to keep your PC within a fraction of a second of the correct time.  Please see the NTP Web pages for more details about NTP.
  • Find out more about my own experiences of running NTP on various systems.
  • Take a look at my current NTP performance graphs.
  • Can you recommend any easy-to-use NTP software for Windows?  There is a port of the official NTP software for Windows available from Meinberg - ideal if you have a PC which stays on 24-hours a day.  Previously, I had used and registered Tardis, a British product that runs under all versions of Windows and provides a very easy route into NTP

Version history:

V5.1.0 Allow for more line colours, use line colours for node information text.
V5.1.2 Add precision logging to file option (PL checkbox), add buttons for changing Y scale (replaces label click), click on right-half of clock face to refresh data, click on status bar for About... box, avoid history corruption when replies not received.
V5.1.4 Enhancements to the display controlled by keywords in the clock list file - including the main window and taskbar titles, update time zone name and offset more frequently, "Delta" option not to plot unchanged values (but don't use this if your PCs are well synced!), add "Plot only active" option, don't extend plot where there is no data, try harder not to prevent Windows shutdown when running.
V5.1.6 Add to clock list file display control entries option for no case change to the specified title (-NOCASECHANGE).

  Download Download NTP monitor V5.1.6  (252,912 bytes;  2013-Dec-25)
  MD5 signature: 7D92B0D653E32619DB05601998B05FF1

If you find the NTP Monitor useful, you can "thanks" by registering my Network Tools Suite here.  Registration is mandatory for commercial use.

Screen-shot from an earlier version:

Screen-shot from NTP Monitor V5

The clocks have four hands displaying the offset:

  • Hours - shorter white hand

  • Minutes - longer white hand

  • Seconds - long red hand

  • Fraction of second - short grey hand

Version 5 of the NTP monitor adds the ability to see trends over several hours by plotting a graph of the offsets against time.  These offset can either be relative to the local PC clock, or compared to a more accurate reference source.  The program allows you to filter the display in two ways, to improve the visibility of trend information:

  • by checking the Clean option, the reference clock is cleaned, so that glitches are removed.  Note the area very near the right-hand side of the plot where all the plots go below the axis in the top set, but are corrected in the middle set.  Regions where all clocks behave the same shows an effect in the reference.

  • by checking the Smooth option, the noise from random fluctuations is removed in all graphs (bottom set), but single transients become spread out.

Smoothing options for NTP graphs


NTP Plotter

During the tests on a Windows version of the NMEA/PPS ref-clock drivers, the need arose for a simple program to plot the performance.  As a result, development of the NTP Plotter program was started to produce graphs of offset, frequency error, and jitter like those below, from the loopstats files which ntpd can produce.  The offset plot includes an hourly RMS estimate of variation of offset about the mean offset level.  The jitter graph includes an extra averaged value, presented on a more detailed scale, so that even small changes can be observed, such as the change from user-mode to kernel-mode time-stamping.  The program will accept command-line parameters as either a directory containing loopstats/peerstats files, a single file, multiple files, or a Zip archive with peer/loopstats files, and you can drag-and-drop the same three sources onto the program from Windows Explorer.
V1.0.20 Make "plot data gaps as zero" optional.
V1.0.21 Make RMS compute on hourly boundaries.
V1.0.22 Accept .GZ compressed data.
V1.0.23 Try harder to find files in the current directory (should be named loop*.2* and peer*.2*), if no files found display File|Open dialog, option to show LAN-only peerstats (LAN defined as either 192.168.x.x addresses or 127.127.x.x addresses).
V1.0.24 Faster plotting, pause while up/down buttons are being pressed.
V1.0.25 Add option to control clip of offset data checked by default for better display of "spikey" data, update program caption when single file dropped, don't save peerstats graph images if no peerstats data.
V1.0.26 Make data gaps more obvious.
V1.0.27 Make all saved graphs the same size, just as they are displayed.
V1.0.28 Accept directory names without the trailing "\", make legend text match line colour, if no graphs saved, suggest user check write-access to the data directory.
V1.0.29 Warn if too many points are selected for plotting.
V1.0.30 Click a cell or header in the peerstats table to sort (click again to sort in the reverse direction, right-click to copy table to clipboard), note that if there are nulls in the loopstats . the program will stop reading at that point.
V1.0.31 Add option to save images with yyyy-mm-dd prefix.
V1.0.32 Option to show full directory name, slightly improved speed of loading data, display message while loading.
V2020.04.19.078 Be more precise in accepting loop/peer file names, revise version numbering, save files locally if source path not writeable, handle mixed plain and .GZ files in directory.

Download Download NTP Plotter - revised 2020-Apr-19
MD5 signature: A6F12BB099BC3DEE332DC1D41CB66296

Move your mouse over the text below to see the different plots
Screen-shots are from an earlier version
Offset vs. date
Offset vs. time of day
Frequency vs. date
Rel. freq.
Rel. freq. vs. time of day
Jitter vs. date Peerstats statistics Peerstats offset
Peerstats delay
Peerstats dispersion
Peerstats jitter

NTP Leap Trace

Small program to check whether your NTP is detecting a leap-second flag, and if so, from where.  My thanks to Dave Hart for suggesting the commands required to extract the leap-second data.  The program needs write-access to the directory where it is copied, to write a temporary file, so for Windows-7 I suggest installing in a fresh directory such as C:\Tools\NTP\  

Note: please ensure that the ntpq.exe program is available from the path where the program is run, as the program relies on executing the ntpq command and interpreting its output.

2009 Mar 21 First version
2009 Mar 25 Add ability to read command-line parameters, list of servers
2009 Mar 27 Add command-line version: NTPLeapTracer.exe
2009 Jun 20 Build with Delphi 2009

  Download Download NTP Leap Trace beta - revised 2009-Jun-21

For those of you running FreeBSD or Linux, or if you prefer a program with the source you can inspect, here's a version very kindly provided by Terje Mathisen from Norway.

  Download Download NTP Leap Trace in Perl, by Terje Mathisen - revised 2013-Jan-04  

On a typical day, with one rogue indication showing....

.. and on Dec 31, just before a leap second is due, on WIndows-10 with a more recent program version:

Sample command-line output

C:\Utilities\NTP> NTPLeapTracer pixie
NTP server: pixie, no leap second pending

associd=0 status=24a4 leap_none, sync_36, 10 events, freq_mode,
version="ntpd 4.2.4p5-a (1)", processor="i386",
system="FreeBSD/8.0-RELEASE", leap=00, stratum=1, precision=-18,
rootdelay=0.000, rootdispersion=0.438, peer=52348, refid=PPS,
reftime=d2ddf158.2a1fc980 Thu, Feb 9 2012 7:16:40.164, poll=4,
clock=d2ddf165.2e8d955a Thu, Feb 9 2012 7:16:53.181, state=4,
offset=0.004, frequency=27.681, jitter=0.004, noise=0.002,
stability=0.011, tai=0

AssID: 52348 - no leap
AssID: 52349 - no leap
AssID: 52350 - no leap
AssID: 52351 - no leap
AssID: 52352 - no leap
AssID: 52353 - no leap


and from the current program, when a leap second is due:

C:\Utilities\NTP>NTPLeapTracer.exe puffin
NTP server:  puffin     *** leap second is pending ***

associd=0 status=4618 leap_add_sec, sync_ntp, 1 event, no_sys_peer,
version="ntpd 4.2.8p9@1.3265-o Nov 21 15:37:28.73 (UTC-00:00) 2016  (1)",
processor="x86-SSE2", system="Windows", leap=01, stratum=2,
precision=-22, rootdelay=0.172, rootdisp=3.023, refid=,
reftime=dc11d83b.ef56c5ab  Sat, Dec 31 2016  7:09:47.934,
clock=dc11d851.74fee590  Sat, Dec 31 2016  7:10:09.457, peer=25449, tc=5,
mintc=3, offset=0.361515, frequency=-11.365, sys_jitter=0.007593,
clk_jitter=0.112, clk_wander=0.013

AssID: 25449 - leap indicated from:  leoNTP
AssID: 25450 - leap indicated from:  pixie
AssID: 25451 - leap indicated from:  raspi-13
AssID: 25453 - leap indicated from:
AssID: 25454 - no leap (
AssID: 25455 - leap indicated from:
AssID: 25456 - leap indicated from:
AssID: 25457 - leap indicated from:
AssID: 25458 - leap indicated from:

NTP PPS check

During a recent period of GPS jamming I needed to discover which of my nodes was affected.  It seems that nodes with antennas away from the street were slightly less affected (no, I couldn't see any unusual vehicles).  I wrote a DOS script to check both my Raspberry Pi flock, and some named Windows and Linux nodes.  The idea was to detect those node claiming PPS sync and list them with the output from the appropriate line from an ntpq -pn.  There is a common subroutine, called with two different sets of node names, one for the Raspberry Pi cards (RasPi1..RasPi14) and again for named nodes (in the set nodes= command).  The set node=%node:~-8% command ensures that the displayed node name is padded to make it a constanst width, so that the NTPQ columns line up as expected.

@echo off

echo   node         remote           refid      st t when poll reach   delay   offset  jitter
echo ========================================================================================

for /L %%n in (1, 1, 14) do call :one-node RasPi-%%n
set nodes=Alta,Bacchus,Kiruna,Stamsund
for %%n in (%nodes%) do call :one-node %%n
del _temp.txt


set res=
set node=             %1
set node=%node:~-8%
ntpq -pn %1 | findstr "o127.127." > _temp.txt
set /p res= < _temp.txt
set res=%node%  %res%
echo %res%
exit /b

Sample results when almost everything was working again, except for RasPi-3 which I had disturbed!  Stands out, doesn't it?


PC Clock Timing

Small program to show the resolution (granularity) of the different system time calls on Windows, and the speed or otherwise of some of the calls.  Unsupported - questions here.

V3.0.8 2009 Jun 11 Add check of GetSystemTimeAsFileTime granularity, add Refresh button so you can just press <return>, Move to Delphi 2007.
V3.0.9 2009 Jun 12 Add graph of GetSystemTimeAsFileTime calls, replace mean of GetSystemTimeAsFileTime by median.
V3.0.10 2009 Jun 14 Add filtered mean value, ignoring outliers, very similar to the median, as expected.
V3.1.0 2009 Jun 21 Compile with Delphi 2009.
V3.1.1 2009 Dec 05 Update label captions displayed before running.

  Download PCClockTiming - update 2009 Dec 05


Windows XP system - mmTimer enabled

Windows Vista system


Serial Port LEDs

Simple program to show the state of the serial port LEDs.  Intended for watching the pulses on the DCD line from a pulse-per-second GPS used for NTP.  

Please note: If you are using Windows for NTP with a PPS signal, the DCD line must flash briefly on, not be mostly on flashing briefly off as inverting the PPS signal is not supported by the Windows NTP port.

  Download SerialPortLEDs - updated 2014-Jan-01

Copyright © David Taylor, Edinburgh   Last modified: 2020 Apr 19 at 14:08