2000-01-12 14:41:00 +00:00
|
|
|
.\"
|
|
|
|
.\" $FreeBSD$
|
|
|
|
.\"
|
|
|
|
.Dd January 7, 2000
|
|
|
|
.Dt NTPQ 8
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm ntpq
|
|
|
|
.Nd standard NTP query program
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm
|
|
|
|
.Op Fl inp
|
|
|
|
.Op Fl c Ar command
|
|
|
|
.Op Ar host ...
|
|
|
|
.Sh DESCRIPTION
|
2001-08-29 14:50:56 +00:00
|
|
|
The
|
2000-01-12 14:41:00 +00:00
|
|
|
.Nm
|
2002-07-14 14:47:15 +00:00
|
|
|
utility is used to query NTP servers
|
2001-08-29 14:50:56 +00:00
|
|
|
which implement the recommended NTP mode 6 control message format
|
|
|
|
about current state and to request changes in that state.
|
|
|
|
The
|
|
|
|
program may be run either in interactive mode or controlled using
|
|
|
|
command line arguments.
|
|
|
|
Requests to read and write arbitrary
|
|
|
|
variables can be assembled, with raw and pretty-printed output
|
|
|
|
options being available.
|
2002-07-14 14:47:15 +00:00
|
|
|
The
|
2000-01-12 14:41:00 +00:00
|
|
|
.Nm
|
2002-07-14 14:47:15 +00:00
|
|
|
utility can also obtain and print a
|
2001-08-29 14:50:56 +00:00
|
|
|
list of peers in a common format by sending multiple queries to the
|
|
|
|
server.
|
2000-01-12 14:41:00 +00:00
|
|
|
.Pp
|
2001-08-29 14:50:56 +00:00
|
|
|
If one or more request options is included on the command line
|
|
|
|
when
|
2000-01-12 14:41:00 +00:00
|
|
|
.Nm
|
2001-08-29 14:50:56 +00:00
|
|
|
is executed, each of the requests will be sent
|
|
|
|
to the NTP servers running on each of the hosts given as command
|
|
|
|
line arguments, or on localhost by default.
|
|
|
|
If no request options
|
|
|
|
are given,
|
2000-01-12 14:41:00 +00:00
|
|
|
.Nm
|
2001-08-29 14:50:56 +00:00
|
|
|
will attempt to read commands from the
|
|
|
|
standard input and execute these on the NTP server running on the
|
|
|
|
first host given on the command line, again defaulting to localhost
|
2000-01-12 14:41:00 +00:00
|
|
|
when no other host is specified.
|
2002-07-14 14:47:15 +00:00
|
|
|
The
|
2000-01-12 14:41:00 +00:00
|
|
|
.Nm
|
2002-07-14 14:47:15 +00:00
|
|
|
utility will prompt for
|
2001-08-29 14:50:56 +00:00
|
|
|
commands if the standard input is a terminal device.
|
2000-01-12 14:41:00 +00:00
|
|
|
.Pp
|
2002-07-14 14:47:15 +00:00
|
|
|
The
|
2000-01-12 14:41:00 +00:00
|
|
|
.Nm
|
2002-07-14 14:47:15 +00:00
|
|
|
utility uses NTP mode 6 packets to communicate with the
|
2001-08-29 14:50:56 +00:00
|
|
|
NTP server, and hence can be used to query any compatible server on
|
|
|
|
the network which permits it.
|
|
|
|
Note that since NTP is a UDP protocol
|
|
|
|
this communication will be somewhat unreliable, especially over
|
|
|
|
large distances in terms of network topology.
|
2002-07-14 14:47:15 +00:00
|
|
|
The
|
2000-01-12 14:41:00 +00:00
|
|
|
.Nm
|
2002-07-14 14:47:15 +00:00
|
|
|
utility makes
|
2001-08-29 14:50:56 +00:00
|
|
|
one attempt to retransmit requests, and will time requests out if
|
|
|
|
the remote host is not heard from within a suitable timeout
|
|
|
|
time.
|
|
|
|
.Pp
|
|
|
|
For examples and usage, see the
|
|
|
|
.Qq "NTP Debugging Techniques"
|
|
|
|
page
|
|
|
|
(available as part of the HTML documentation
|
|
|
|
provided in
|
|
|
|
.Pa /usr/share/doc/ntp ) .
|
2000-01-12 14:41:00 +00:00
|
|
|
.Pp
|
|
|
|
The following options are available:
|
|
|
|
.Bl -tag -width indent
|
2001-08-29 14:50:56 +00:00
|
|
|
.It Fl c
|
|
|
|
The following argument is interpreted as an interactive format
|
|
|
|
command and is added to the list of commands to be executed on the
|
|
|
|
specified host(s).
|
2000-01-12 14:41:00 +00:00
|
|
|
Multiple
|
|
|
|
.Fl c
|
|
|
|
options may be given.
|
|
|
|
.It Fl i
|
|
|
|
Force
|
|
|
|
.Nm
|
|
|
|
to operate in interactive mode.
|
2001-08-29 14:50:56 +00:00
|
|
|
Prompts
|
|
|
|
will be written to the standard output and commands read from the
|
|
|
|
standard input.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Fl n
|
2001-08-29 14:50:56 +00:00
|
|
|
Output all host addresses in dotted-quad numeric format rather
|
|
|
|
than converting to the canonical host names.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Fl p
|
2001-08-29 14:50:56 +00:00
|
|
|
Print a list of the peers known to the server as well as a
|
|
|
|
summary of their state.
|
2000-01-12 14:41:00 +00:00
|
|
|
This is equivalent to the
|
|
|
|
.Ic peers
|
|
|
|
interactive command.
|
|
|
|
.El
|
2001-08-29 14:50:56 +00:00
|
|
|
.Pp
|
|
|
|
Specifying a
|
|
|
|
command line option other than
|
|
|
|
.Fl i
|
|
|
|
or
|
|
|
|
.Fl n
|
|
|
|
will
|
|
|
|
cause the specified query (queries) to be sent to the indicated
|
|
|
|
host(s) immediately.
|
|
|
|
Otherwise,
|
|
|
|
.Nm
|
|
|
|
will attempt to read
|
|
|
|
interactive format commands from the standard input.
|
|
|
|
.Ss "Internal Commands"
|
|
|
|
Interactive format commands consist of a keyword followed by zero
|
|
|
|
to four arguments.
|
|
|
|
Only enough characters of the full keyword to
|
|
|
|
uniquely identify the command need be typed.
|
|
|
|
The output of a
|
|
|
|
command is normally sent to the standard output, but optionally the
|
|
|
|
output of individual commands may be sent to a file by appending a
|
2002-01-21 20:12:02 +00:00
|
|
|
.Ql \&> ,
|
2000-01-12 14:41:00 +00:00
|
|
|
followed by a file name, to the command line.
|
2001-08-29 14:50:56 +00:00
|
|
|
A
|
|
|
|
number of interactive format commands are executed entirely within
|
|
|
|
the
|
2000-01-12 14:41:00 +00:00
|
|
|
.Nm
|
2002-07-14 14:47:15 +00:00
|
|
|
utility itself and do not result in NTP mode 6
|
2001-08-29 14:50:56 +00:00
|
|
|
requests being sent to a server.
|
2000-01-12 14:41:00 +00:00
|
|
|
These are described following.
|
|
|
|
.Bl -tag -width indent
|
2001-08-29 14:50:56 +00:00
|
|
|
.It Ic \&? Op Ar command_keyword
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Ic help Op Ar command_keyword
|
|
|
|
A
|
2001-08-29 14:50:56 +00:00
|
|
|
.Ql \&?
|
|
|
|
by itself will print a list of all the command
|
|
|
|
keywords known to this incarnation of
|
2000-11-20 20:10:44 +00:00
|
|
|
.Nm .
|
2000-01-12 14:41:00 +00:00
|
|
|
A
|
2001-08-29 14:50:56 +00:00
|
|
|
.Ql \&?
|
|
|
|
followed by a command keyword will print function and usage
|
|
|
|
information about the command.
|
2000-01-12 14:41:00 +00:00
|
|
|
This command is probably a better
|
|
|
|
source of information about
|
|
|
|
.Nm
|
2001-08-29 14:50:56 +00:00
|
|
|
than this manual
|
|
|
|
page.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Xo Ic addvars
|
2001-08-29 14:50:56 +00:00
|
|
|
.Ar variable_name Ns Op = Ns Ar value ...
|
2000-01-12 14:41:00 +00:00
|
|
|
.Xc
|
2001-08-29 14:50:56 +00:00
|
|
|
.It Ic rmvars Ar variable_name ...
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Ic clearvars
|
2001-08-29 14:50:56 +00:00
|
|
|
The data carried by NTP mode 6 messages consists of a list of
|
|
|
|
items of the form
|
|
|
|
.Ql variable_name=value ,
|
2000-01-12 14:41:00 +00:00
|
|
|
where the
|
2001-08-29 14:50:56 +00:00
|
|
|
.Ql =value
|
|
|
|
is ignored, and can be omitted,
|
|
|
|
in requests to the server to read variables.
|
2002-07-14 14:47:15 +00:00
|
|
|
The
|
2000-01-12 14:41:00 +00:00
|
|
|
.Nm
|
2002-07-14 14:47:15 +00:00
|
|
|
utility maintains an internal list in which data to be included in control
|
2000-01-12 14:41:00 +00:00
|
|
|
messages can be assembled, and sent using the
|
|
|
|
.Ic readlist
|
|
|
|
and
|
|
|
|
.Ic writelist
|
2000-03-01 14:09:25 +00:00
|
|
|
commands described below.
|
|
|
|
The
|
2000-01-12 14:41:00 +00:00
|
|
|
.Ic addvars
|
2001-08-29 14:50:56 +00:00
|
|
|
command allows variables and their optional values to be added to
|
|
|
|
the list.
|
|
|
|
If more than one variable is to be added, the list should
|
|
|
|
be comma-separated and not contain white space.
|
2000-01-12 14:41:00 +00:00
|
|
|
The
|
|
|
|
.Ic rmvars
|
2001-08-29 14:50:56 +00:00
|
|
|
command can be used to remove individual variables from the list,
|
|
|
|
while the
|
2002-11-27 15:25:07 +00:00
|
|
|
.Ic clearlist
|
2001-08-29 14:50:56 +00:00
|
|
|
command removes all variables from the
|
|
|
|
list.
|
|
|
|
.It Ic authenticate Cm yes | Cm no
|
2000-01-12 14:41:00 +00:00
|
|
|
Normally
|
|
|
|
.Nm
|
2001-08-29 14:50:56 +00:00
|
|
|
does not authenticate requests unless
|
|
|
|
they are write requests.
|
2000-01-12 14:41:00 +00:00
|
|
|
The command
|
2001-08-29 14:50:56 +00:00
|
|
|
.Ql authenticate yes
|
2000-01-12 14:41:00 +00:00
|
|
|
causes
|
|
|
|
.Nm
|
2001-08-29 14:50:56 +00:00
|
|
|
to send authentication with all requests it
|
|
|
|
makes.
|
|
|
|
Authenticated requests causes some servers to handle
|
|
|
|
requests slightly differently, and can occasionally melt the CPU in
|
|
|
|
fuzzballs if you turn authentication on before doing a
|
|
|
|
.Ic peer
|
|
|
|
display.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Ic cooked
|
2001-08-29 14:50:56 +00:00
|
|
|
Causes output from query commands to be "cooked", so that
|
|
|
|
variables which are recognized by
|
|
|
|
.Nm
|
|
|
|
will have their
|
|
|
|
values reformatted for human consumption.
|
2000-01-12 14:41:00 +00:00
|
|
|
Variables which
|
|
|
|
.Nm
|
2001-08-29 14:50:56 +00:00
|
|
|
thinks should have a decodable value but didn't are
|
|
|
|
marked with a trailing
|
|
|
|
.Ql \&? .
|
|
|
|
.It Xo Ic debug
|
|
|
|
.Cm more |
|
|
|
|
.Cm less |
|
|
|
|
.Cm off
|
2000-05-15 11:33:14 +00:00
|
|
|
.Xc
|
2001-08-29 14:50:56 +00:00
|
|
|
Turns internal query program debugging on and off.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Ic delay Ar milliseconds
|
2001-08-29 14:50:56 +00:00
|
|
|
Specify a time interval to be added to timestamps included in
|
|
|
|
requests which require authentication.
|
|
|
|
This is used to enable
|
|
|
|
(unreliable) server reconfiguration over long delay network paths
|
|
|
|
or between machines whose clocks are unsynchronized.
|
|
|
|
Actually the
|
|
|
|
server does not now require timestamps in authenticated requests,
|
2000-01-12 14:41:00 +00:00
|
|
|
so this command may be obsolete.
|
|
|
|
.It Ic host Ar hostname
|
|
|
|
Set the host to which future queries will be sent.
|
2001-08-29 14:50:56 +00:00
|
|
|
Hostname may
|
|
|
|
be either a host name or a numeric address.
|
|
|
|
.It Ic hostnames Cm yes | Cm no
|
2000-01-12 14:41:00 +00:00
|
|
|
If
|
2001-08-29 14:50:56 +00:00
|
|
|
.Cm yes
|
|
|
|
is specified, host names are printed in
|
|
|
|
information displays.
|
2000-01-12 14:41:00 +00:00
|
|
|
If
|
2001-08-29 14:50:56 +00:00
|
|
|
.Cm no
|
|
|
|
is specified, numeric
|
|
|
|
addresses are printed instead.
|
2000-01-12 14:41:00 +00:00
|
|
|
The default is
|
2001-08-29 14:50:56 +00:00
|
|
|
.Cm yes ,
|
|
|
|
unless
|
|
|
|
modified using the command line
|
2000-01-12 14:41:00 +00:00
|
|
|
.Fl n
|
|
|
|
switch.
|
|
|
|
.It Ic keyid Ar keyid
|
2001-08-29 14:50:56 +00:00
|
|
|
This command allows the specification of a key number to be
|
|
|
|
used to authenticate configuration requests.
|
|
|
|
This must correspond
|
|
|
|
to a key number the server has been configured to use for this
|
|
|
|
purpose.
|
|
|
|
.It Xo Ic ntpversion
|
|
|
|
.Cm 1 |
|
|
|
|
.Cm 2 |
|
|
|
|
.Cm 3 |
|
|
|
|
.Cm 4
|
2000-05-15 11:33:14 +00:00
|
|
|
.Xc
|
2001-08-29 14:50:56 +00:00
|
|
|
Sets the NTP version number which
|
2000-01-12 14:41:00 +00:00
|
|
|
.Nm
|
2001-08-29 14:50:56 +00:00
|
|
|
claims in
|
|
|
|
packets.
|
|
|
|
Defaults to 3, Note that mode 6 control messages (and
|
|
|
|
modes, for that matter) didn't exist in NTP version 1.
|
|
|
|
There appear
|
|
|
|
to be no servers left which demand version 1.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Ic quit
|
|
|
|
Exit
|
2000-11-20 20:10:44 +00:00
|
|
|
.Nm .
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Ic passwd
|
2001-08-29 14:50:56 +00:00
|
|
|
This command prompts you to type in a password (which will not
|
|
|
|
be echoed) which will be used to authenticate configuration
|
|
|
|
requests.
|
|
|
|
The password must correspond to the key configured for
|
|
|
|
use by the NTP server for this purpose if such requests are to be
|
|
|
|
successful.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Ic raw
|
2001-08-29 14:50:56 +00:00
|
|
|
Causes all output from query commands is printed as received
|
|
|
|
from the remote server.
|
|
|
|
The only formating/interpretation done on
|
|
|
|
the data is to transform nonascii data into a printable (but barely
|
|
|
|
understandable) form.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Ic timeout Ar milliseconds
|
2000-03-01 14:09:25 +00:00
|
|
|
Specify a timeout period for responses to server queries.
|
2001-08-29 14:50:56 +00:00
|
|
|
The
|
|
|
|
default is about 5000 milliseconds.
|
2000-01-12 14:41:00 +00:00
|
|
|
Note that since
|
|
|
|
.Nm
|
2001-08-29 14:50:56 +00:00
|
|
|
retries each query once after a timeout, the total waiting time for
|
|
|
|
a timeout will be twice the timeout value set.
|
2000-01-12 14:41:00 +00:00
|
|
|
.El
|
|
|
|
.Ss Control Message Commands
|
2001-08-29 14:50:56 +00:00
|
|
|
Each peer known to an NTP server has a 16 bit integer association
|
|
|
|
identifier assigned to it.
|
|
|
|
NTP control messages which carry peer
|
|
|
|
variables must identify the peer the values correspond to by
|
|
|
|
including its association ID.
|
|
|
|
An association ID of 0 is special,
|
|
|
|
and indicates the variables are system variables, whose names are
|
|
|
|
drawn from a separate name space.
|
2000-01-12 14:41:00 +00:00
|
|
|
.Pp
|
2001-08-29 14:50:56 +00:00
|
|
|
Control message commands result in one or more NTP mode 6
|
|
|
|
messages being sent to the server, and cause the data returned to
|
|
|
|
be printed in some format.
|
|
|
|
Most commands currently implemented send
|
|
|
|
a single message and expect a single response.
|
|
|
|
The current
|
|
|
|
exceptions are the peers command, which will send a preprogrammed
|
|
|
|
series of messages to obtain the data it needs, and the mreadlist
|
|
|
|
and mreadvar commands, which will iterate over a range of
|
|
|
|
associations.
|
2000-01-12 14:41:00 +00:00
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Ic associations
|
2001-08-29 14:50:56 +00:00
|
|
|
Obtains and prints a list of association identifiers and peer
|
|
|
|
statuses for in-spec peers of the server being queried.
|
|
|
|
The list is
|
|
|
|
printed in columns.
|
|
|
|
The first of these is an index numbering the
|
|
|
|
associations from 1 for internal use, the second the actual
|
|
|
|
association identifier returned by the server and the third the
|
|
|
|
status word for the peer.
|
2000-01-12 14:41:00 +00:00
|
|
|
This is followed by a number of columns
|
|
|
|
containing data decoded from the status word.
|
2001-08-29 14:50:56 +00:00
|
|
|
See the peers command
|
|
|
|
for a decode of the
|
|
|
|
.Sq condition
|
|
|
|
field.
|
|
|
|
Note that the data
|
|
|
|
returned by the
|
2000-01-12 14:41:00 +00:00
|
|
|
.Ic associations
|
2001-08-29 14:50:56 +00:00
|
|
|
command is cached internally
|
|
|
|
in
|
2002-12-24 13:41:48 +00:00
|
|
|
.Nm .
|
2001-08-29 14:50:56 +00:00
|
|
|
The index is then of use when dealing with stupid
|
|
|
|
servers which use association identifiers which are hard for humans
|
|
|
|
to type, in that for any subsequent commands which require an
|
2002-01-21 20:12:02 +00:00
|
|
|
association identifier as an argument, the form of index may be
|
2001-08-29 14:50:56 +00:00
|
|
|
used as an alternative.
|
|
|
|
.It Xo Ic clockvar Op Ar assocID
|
|
|
|
.Oo
|
|
|
|
.Ar variable_name Ns Op = Ns Ar value ...
|
|
|
|
.Oc
|
|
|
|
.Ar ...
|
2000-01-12 14:41:00 +00:00
|
|
|
.Xc
|
2001-08-29 14:50:56 +00:00
|
|
|
.It Xo Ic cv Op Ar assocID
|
|
|
|
.Oo
|
|
|
|
.Ar variable_name Ns Op = Ns Ar value ...
|
|
|
|
.Oc
|
|
|
|
.Ar ...
|
2000-01-12 14:41:00 +00:00
|
|
|
.Xc
|
|
|
|
Requests that a list of the server's clock variables be sent.
|
2001-08-29 14:50:56 +00:00
|
|
|
Servers which have a radio clock or other external synchronization
|
|
|
|
will respond positively to this.
|
|
|
|
If the association identifier is
|
|
|
|
omitted or zero the request is for the variables of the
|
|
|
|
.Sq system clock
|
|
|
|
and will generally get a positive response from all
|
|
|
|
servers with a clock.
|
2000-01-12 14:41:00 +00:00
|
|
|
If the server treats clocks as pseudo-peers,
|
|
|
|
and hence can possibly have more than one clock connected at once,
|
2001-08-29 14:50:56 +00:00
|
|
|
referencing the appropriate peer association ID will show the
|
|
|
|
variables of a particular clock.
|
|
|
|
Omitting the variable list will
|
|
|
|
cause the server to return a default variable display.
|
2000-03-20 12:06:18 +00:00
|
|
|
.It Ic lassociations
|
2001-08-29 14:50:56 +00:00
|
|
|
Obtains and prints a list of association identifiers and peer
|
|
|
|
statuses for all associations for which the server is maintaining
|
|
|
|
state.
|
2000-01-12 14:41:00 +00:00
|
|
|
This command differs from the
|
|
|
|
.Ic associations
|
2001-08-29 14:50:56 +00:00
|
|
|
command
|
|
|
|
only for servers which retain state for out-of-spec client
|
|
|
|
associations (i.e., fuzzballs).
|
|
|
|
Such associations are normally
|
|
|
|
omitted from the display when the
|
2000-01-12 14:41:00 +00:00
|
|
|
.Ic associations
|
2001-08-29 14:50:56 +00:00
|
|
|
command is
|
|
|
|
used, but are included in the output of
|
|
|
|
.Ic lassociations .
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Ic lpassociations
|
|
|
|
Print data for all associations, including out-of-spec client
|
|
|
|
associations, from the internally cached list of associations.
|
2001-08-29 14:50:56 +00:00
|
|
|
This
|
|
|
|
command differs from
|
2000-01-12 14:41:00 +00:00
|
|
|
.Ic passociations
|
2001-08-29 14:50:56 +00:00
|
|
|
only when dealing with
|
|
|
|
fuzzballs.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Ic lpeers
|
2001-08-29 14:50:56 +00:00
|
|
|
Like R peers, except a summary of all associations for which
|
|
|
|
the server is maintaining state is printed.
|
|
|
|
This can produce a much
|
|
|
|
longer list of peers from fuzzball servers.
|
|
|
|
.It Ic mreadlist Ar assocID Ar assocID
|
|
|
|
.It Ic mrl Ar assocID Ar assocID
|
2000-01-12 14:41:00 +00:00
|
|
|
Like the
|
|
|
|
.Ic readlist
|
2001-08-29 14:50:56 +00:00
|
|
|
command, except the query is done
|
|
|
|
for each of a range of (nonzero) association IDs.
|
|
|
|
This range is
|
|
|
|
determined from the association list cached by the most recent
|
2000-01-12 14:41:00 +00:00
|
|
|
.Ic associations
|
|
|
|
command.
|
2001-08-29 14:50:56 +00:00
|
|
|
.It Xo Ic mreadvar Ar assocID Ar assocID
|
|
|
|
.Oo
|
|
|
|
.Ar variable_name Ns Op = Ns Ar value ...
|
|
|
|
.Oc
|
2000-01-12 14:41:00 +00:00
|
|
|
.Xc
|
2001-08-29 14:50:56 +00:00
|
|
|
.It Xo Ic mrv Ar assocID Ar assocID
|
|
|
|
.Oo
|
|
|
|
.Ar variable_name Ns Op = Ns Ar value ...
|
|
|
|
.Oc
|
2000-01-12 14:41:00 +00:00
|
|
|
.Xc
|
|
|
|
Like the
|
|
|
|
.Ic readvar
|
2001-08-29 14:50:56 +00:00
|
|
|
command, except the query is done for
|
|
|
|
each of a range of (nonzero) association IDs.
|
|
|
|
This range is
|
|
|
|
determined from the association list cached by the most recent
|
2000-01-12 14:41:00 +00:00
|
|
|
.Ic associations
|
|
|
|
command.
|
|
|
|
.It Ic opeers
|
|
|
|
An old form of the
|
|
|
|
.Ic peers
|
|
|
|
command with the reference ID
|
|
|
|
replaced by the local interface address.
|
2002-01-21 20:12:02 +00:00
|
|
|
.It Ic passociations
|
2001-08-29 14:50:56 +00:00
|
|
|
Displays association data concerning in-spec peers from the
|
|
|
|
internally cached list of associations.
|
|
|
|
This command performs
|
|
|
|
identically to the
|
2000-01-12 14:41:00 +00:00
|
|
|
.Ic associations
|
2001-08-29 14:50:56 +00:00
|
|
|
except that it displays
|
|
|
|
the internally stored data rather than making a new query.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Ic peers
|
2001-08-29 14:50:56 +00:00
|
|
|
Obtains a current list peers of the server, along with a
|
|
|
|
summary of each peer's state.
|
|
|
|
Summary information includes the
|
|
|
|
address of the remote peer, the reference ID (0.0.0.0 if this is
|
|
|
|
unknown), the stratum of the remote peer, the type of the peer
|
|
|
|
(local, unicast, multicast or broadcast), when the last packet was
|
|
|
|
received, the polling interval, in seconds, the reachability
|
|
|
|
register, in octal, and the current estimated delay, offset and
|
|
|
|
dispersion of the peer, all in milliseconds.
|
|
|
|
The character in the left margin indicates the fate of this
|
|
|
|
peer in the clock selection process.
|
|
|
|
Following is a list of these
|
|
|
|
characters, the pigeon used in the
|
2000-01-12 14:41:00 +00:00
|
|
|
.Ic rv
|
2001-08-29 14:50:56 +00:00
|
|
|
command, and a short
|
|
|
|
explanation of the condition revealed.
|
2000-01-12 14:41:00 +00:00
|
|
|
.Bl -tag -width indent
|
|
|
|
.It space
|
|
|
|
.Pq reject
|
2001-08-29 14:50:56 +00:00
|
|
|
The peer is discarded as unreachable, synchronized to this
|
|
|
|
server (synch loop) or outrageous synchronization distance.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It x
|
|
|
|
.Pq falsetick
|
2001-08-29 14:50:56 +00:00
|
|
|
The peer is discarded by the intersection algorithm as a
|
|
|
|
falseticker.
|
|
|
|
.It \&.
|
2000-01-12 14:41:00 +00:00
|
|
|
.Pq excess
|
2001-08-29 14:50:56 +00:00
|
|
|
The peer is discarded as not among the first ten peers sorted
|
|
|
|
by synchronization distance and so is probably a poor candidate for
|
|
|
|
further consideration.
|
|
|
|
.It \&-
|
2000-01-12 14:41:00 +00:00
|
|
|
.Pq outlyer
|
2001-08-29 14:50:56 +00:00
|
|
|
The peer is discarded by the clustering algorithm as an
|
|
|
|
outlyer.
|
|
|
|
.It \&+
|
2002-01-21 20:12:02 +00:00
|
|
|
.Pq candidate
|
2001-08-29 14:50:56 +00:00
|
|
|
The peer is a survivor and a candidate for the combining
|
|
|
|
algorithm.
|
|
|
|
.It \&#
|
2000-01-12 14:41:00 +00:00
|
|
|
.Pq selected
|
2001-08-29 14:50:56 +00:00
|
|
|
The peer is a survivor, but not among the first six peers
|
|
|
|
sorted by synchronization distance.
|
2002-01-21 20:12:02 +00:00
|
|
|
If the association is ephemeral,
|
2000-01-12 14:41:00 +00:00
|
|
|
it may be demobilized to conserve resources.
|
2001-08-29 14:50:56 +00:00
|
|
|
.It \&*
|
|
|
|
.Pq peer
|
|
|
|
The peer has been declared the system peer and lends its
|
|
|
|
variables to the system variables.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It o
|
2001-08-29 14:50:56 +00:00
|
|
|
.Pq (pps.peer)
|
|
|
|
The peer has been declared the system peer and lends its
|
2002-01-21 20:12:02 +00:00
|
|
|
variables to the system variables.
|
2001-08-29 14:50:56 +00:00
|
|
|
However, the actual system
|
|
|
|
synchronization is derived from a pulse-per-second (PPS) signal,
|
|
|
|
either indirectly via the PPS reference clock driver or directly
|
|
|
|
via kernel interface.
|
|
|
|
.El
|
2000-01-12 14:41:00 +00:00
|
|
|
.El
|
|
|
|
.Pp
|
2001-08-29 14:50:56 +00:00
|
|
|
The
|
|
|
|
.Va flash
|
|
|
|
variable is a valuable debugging aid.
|
|
|
|
It
|
|
|
|
displays the results of the original sanity checks defined in the
|
|
|
|
NTP specification RFC-1305 and additional ones added in NTP Version
|
|
|
|
4.
|
|
|
|
There are eleven tests called
|
|
|
|
.Sy TEST1
|
|
|
|
through
|
|
|
|
.Sy TEST11 .
|
|
|
|
The tests are performed in a certain order
|
|
|
|
designed to gain maximum diagnostic information while protecting
|
|
|
|
against accidental or malicious errors.
|
|
|
|
The
|
|
|
|
.Va flash
|
|
|
|
variable
|
|
|
|
is first initialized to zero.
|
|
|
|
If after each set of tests one or
|
|
|
|
more bits are set, the packet is discarded.
|
|
|
|
.Pp
|
|
|
|
Tests
|
|
|
|
.Sy TEST4
|
|
|
|
and
|
|
|
|
.Sy TEST5
|
|
|
|
check the access
|
|
|
|
permissions and cryptographic message digest.
|
|
|
|
If any bits are set
|
|
|
|
after that, the packet is discarded.
|
|
|
|
Tests
|
|
|
|
.Sy TEST10
|
|
|
|
and
|
|
|
|
.Sy TEST11
|
|
|
|
check the authentication state using Autokey
|
|
|
|
public-key cryptography, as described in the
|
|
|
|
.Sx Authentication Options
|
|
|
|
section of
|
|
|
|
.Xr ntp.conf 5 .
|
|
|
|
If any bits are set
|
|
|
|
and the association has previously been marked reachable, the
|
|
|
|
packet is discarded; otherwise, the originate and receive
|
|
|
|
timestamps are saved, as required by the NTP protocol, and
|
|
|
|
processing continues.
|
2000-01-12 14:41:00 +00:00
|
|
|
.Pp
|
2001-08-29 14:50:56 +00:00
|
|
|
Tests
|
|
|
|
.Sy TEST1
|
|
|
|
through
|
|
|
|
.Sy TEST3
|
|
|
|
check the packet
|
|
|
|
timestamps from which the offset and delay are calculated.
|
|
|
|
If any
|
|
|
|
bits are set, the packet is discarded; otherwise, the packet header
|
|
|
|
variables are saved.
|
|
|
|
Tests
|
|
|
|
.Sy TEST6
|
|
|
|
through
|
|
|
|
.Sy TEST8
|
|
|
|
check the health of the server.
|
|
|
|
If any bits are set, the packet is
|
|
|
|
discarded; otherwise, the offset and delay relative to the server
|
|
|
|
are calculated and saved.
|
|
|
|
Test
|
|
|
|
.Sy TEST9
|
|
|
|
checks the health of
|
|
|
|
the association itself.
|
|
|
|
If any bits are set, the packet is
|
|
|
|
discarded; otherwise, the saved variables are passed to the clock
|
|
|
|
filter and mitigation algorithms.
|
|
|
|
.Pp
|
|
|
|
The
|
|
|
|
.Va flash
|
|
|
|
bits for each test read in increasing order
|
|
|
|
from the least significant bit are defined as follows.
|
2000-01-12 14:41:00 +00:00
|
|
|
.Bl -tag -width indent
|
2001-08-29 14:50:56 +00:00
|
|
|
.It Sy TEST1
|
2000-01-12 14:41:00 +00:00
|
|
|
Duplicate packet.
|
2001-08-29 14:50:56 +00:00
|
|
|
The packet is at best a casual retransmission
|
|
|
|
and at worst a malicious replay.
|
|
|
|
.It Sy TEST2
|
2000-01-12 14:41:00 +00:00
|
|
|
Bogus packet.
|
2001-08-29 14:50:56 +00:00
|
|
|
The packet is not a reply to a message previously
|
|
|
|
sent.
|
|
|
|
This can happen when the NTP daemon is restarted and before
|
|
|
|
somebody else notices.
|
|
|
|
.It Sy TEST3
|
2000-01-12 14:41:00 +00:00
|
|
|
Unsynchronized.
|
2001-08-29 14:50:56 +00:00
|
|
|
One or more timestamp fields are invalid.
|
|
|
|
This
|
|
|
|
normally happens when the first packet from a peer is
|
|
|
|
received.
|
|
|
|
.It Sy TEST4
|
|
|
|
Access is denied.
|
2000-01-12 14:41:00 +00:00
|
|
|
See the
|
2001-08-29 14:50:56 +00:00
|
|
|
.Qq "Access Control"
|
2000-01-12 14:41:00 +00:00
|
|
|
page.
|
2001-08-29 14:50:56 +00:00
|
|
|
.It Sy TEST5
|
|
|
|
Cryptographic authentication fails.
|
|
|
|
See the
|
|
|
|
.Sx Authentication Options
|
|
|
|
section of
|
|
|
|
.Xr ntp.conf 5 .
|
|
|
|
.It Sy TEST6
|
|
|
|
The server is unsynchronized.
|
2000-01-12 14:41:00 +00:00
|
|
|
Wind up its clock first.
|
2001-08-29 14:50:56 +00:00
|
|
|
.It Sy TEST7
|
|
|
|
The server stratum is at the maximum than 15.
|
|
|
|
It is probably
|
|
|
|
unsynchronized and its clock needs to be wound up.
|
|
|
|
.It Sy TEST8
|
|
|
|
Either the root delay or dispersion is greater than one second,
|
|
|
|
which is highly unlikely unless the peer is synchronized to
|
|
|
|
Mars.
|
|
|
|
.It Sy TEST9
|
|
|
|
Either the peer delay or dispersion is greater than one second,
|
|
|
|
which is higly unlikely unless the peer is on Mars.
|
|
|
|
.It Sy TEST10
|
|
|
|
The autokey protocol has detected an authentication failure.
|
2000-01-12 14:41:00 +00:00
|
|
|
See the
|
2001-08-29 14:50:56 +00:00
|
|
|
.Sx Authentication Options
|
|
|
|
section of
|
|
|
|
.Xr ntp.conf 5 .
|
|
|
|
.It Sy TEST11
|
|
|
|
The autokey protocol has not verified the server or peer is
|
|
|
|
authentic and has valid public key credentials.
|
|
|
|
See the
|
|
|
|
.Sx Authentication Options
|
|
|
|
section of
|
|
|
|
.Xr ntp.conf 5 .
|
|
|
|
.El
|
|
|
|
.Pp
|
|
|
|
Additional system variables used by the NTP Version 4 Autokey
|
|
|
|
support include the following:
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Ic certificate Ar filestamp
|
|
|
|
Shows the NTP seconds when the certificate file was
|
|
|
|
created.
|
|
|
|
.It Ic hostname Ar host
|
|
|
|
Shows the name of the host as returned by the Unix
|
|
|
|
.Xr gethostname 3
|
|
|
|
library function.
|
|
|
|
.It Ic flags Ar hex
|
|
|
|
Shows the current flag bits, where the
|
|
|
|
.Ar hex
|
|
|
|
bits
|
|
|
|
are interpreted as follows:
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It 0x01
|
|
|
|
autokey enabled
|
|
|
|
.It 0x02
|
|
|
|
RSA public/private key files present
|
|
|
|
.It 0x04
|
|
|
|
PKI certificate file present
|
|
|
|
.It 0x08
|
|
|
|
Diffie-Hellman parameters file present
|
|
|
|
.It 0x10
|
|
|
|
NIST leapseconds table file present
|
2000-01-12 14:41:00 +00:00
|
|
|
.El
|
2001-08-29 14:50:56 +00:00
|
|
|
.It Ic leapseconds Ar filestamp
|
|
|
|
Shows the NTP seconds when the NIST leapseconds table file was
|
|
|
|
created.
|
|
|
|
.It Ic params Ar filestamp
|
|
|
|
Shows the NTP seconds when the Diffie-Hellman agreement
|
|
|
|
parameter file was created.
|
|
|
|
.It Ic publickey Ar filestamp
|
|
|
|
Shows the NTP seconds when the RSA public/private key files
|
|
|
|
were created.
|
|
|
|
.It Ic refresh Ar filestamp
|
|
|
|
Shows the NTP seconds when the public cryptographic values were
|
|
|
|
refreshed and signed.
|
|
|
|
.It Ic tai Ar offset
|
|
|
|
Shows the TAI-UTC offset in seconds obtained from the NIST
|
|
|
|
leapseconds table.
|
|
|
|
.El
|
|
|
|
.Pp
|
|
|
|
Additional peer variables used by the NTP Version 4 Autokey
|
|
|
|
support include the following:
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Ic certificate Ar filestamp
|
|
|
|
Shows the NTP seconds when the certificate file was
|
|
|
|
created.
|
|
|
|
.It Ic flags Ar hex
|
|
|
|
Shows the current flag bits, where the
|
|
|
|
.Ar hex
|
|
|
|
bits are
|
|
|
|
interpreted as in the system variable of the same name.
|
|
|
|
The bits
|
|
|
|
are set in the first autokey message received from the server and
|
|
|
|
then reset as the associated data are obtained from the server and
|
|
|
|
stored.
|
|
|
|
.It Ic hcookie Ar hex
|
|
|
|
Shows the host cookie used in the key agreement algorithm.
|
|
|
|
.It Ic initkey Ar key
|
|
|
|
Shows the initial key used by the key list generator in the
|
|
|
|
autokey protocol.
|
|
|
|
.It Ic initsequence Ar index
|
|
|
|
Shows the initial index used by the key list generator in the
|
|
|
|
autokey protocol.
|
|
|
|
.It Ic pcookie Ar hex
|
|
|
|
Specifies the peer cookie used in the key agreement
|
|
|
|
algorithm.
|
|
|
|
.It Ic timestamp Ar time
|
|
|
|
Shows the NTP seconds when the last autokey key list was
|
|
|
|
generated and signed.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Ic pstatus Ar assocID
|
2001-08-29 14:50:56 +00:00
|
|
|
Sends a read status request to the server for the given
|
|
|
|
association.
|
|
|
|
The names and values of the peer variables returned
|
|
|
|
will be printed.
|
|
|
|
Note that the status word from the header is
|
2002-01-21 20:12:02 +00:00
|
|
|
displayed preceding the variables, both in hexadecimal and in
|
2001-08-29 14:50:56 +00:00
|
|
|
pidgeon English.
|
|
|
|
.It Ic readlist Ar assocID
|
|
|
|
.It Ic rl Ar assocID
|
|
|
|
Requests that the values of the variables in the internal
|
|
|
|
variable list be returned by the server.
|
|
|
|
If the association ID is
|
|
|
|
omitted or is 0 the variables are assumed to be system variables.
|
2000-01-12 14:41:00 +00:00
|
|
|
Otherwise they are treated as peer variables.
|
2001-08-29 14:50:56 +00:00
|
|
|
If the internal
|
|
|
|
variable list is empty a request is sent without data, which should
|
|
|
|
induce the remote server to return a default display.
|
|
|
|
.It Xo Ic readvar Ar assocID
|
|
|
|
.Ar variable_name Ns Op = Ns Ar value
|
|
|
|
.Ar ...
|
2000-01-12 14:41:00 +00:00
|
|
|
.Xc
|
2001-08-29 14:50:56 +00:00
|
|
|
.It Xo Ic rv Ar assocID
|
|
|
|
.Ar variable_name Ns Op = Ns Ar value
|
|
|
|
.Ar ...
|
2000-05-15 11:42:03 +00:00
|
|
|
.Xc
|
2001-08-29 14:50:56 +00:00
|
|
|
Requests that the values of the specified variables be returned
|
|
|
|
by the server by sending a read variables request.
|
|
|
|
If the
|
|
|
|
association ID is omitted or is given as zero the variables are
|
|
|
|
system variables, otherwise they are peer variables and the values
|
|
|
|
returned will be those of the corresponding peer.
|
|
|
|
Omitting the
|
|
|
|
variable list will send a request with no data which should induce
|
|
|
|
the server to return a default display.
|
|
|
|
.It Xo Ic writevar Ar assocID
|
|
|
|
.Ar variable_name Ns Op = Ns Ar value
|
|
|
|
.Ar ...
|
2000-01-12 14:41:00 +00:00
|
|
|
.Xc
|
2001-08-29 14:50:56 +00:00
|
|
|
Like the readvar request, except the specified variables are
|
|
|
|
written instead of read.
|
2000-01-12 14:41:00 +00:00
|
|
|
.It Ic writelist Op Ar assocID
|
2001-08-29 14:50:56 +00:00
|
|
|
Like the readlist request, except the internal list variables
|
|
|
|
are written instead of read.
|
2000-01-12 14:41:00 +00:00
|
|
|
.El
|
|
|
|
.Sh SEE ALSO
|
2000-01-13 09:59:55 +00:00
|
|
|
.Xr ntp.conf 5 ,
|
|
|
|
.Xr ntpd 8 ,
|
|
|
|
.Xr ntpdc 8
|
2000-01-12 14:41:00 +00:00
|
|
|
.Sh BUGS
|
|
|
|
The
|
|
|
|
.Ic peers
|
2001-08-29 14:50:56 +00:00
|
|
|
command is non-atomic and may occasionally result in
|
|
|
|
spurious error messages about invalid associations occurring and
|
|
|
|
terminating the command.
|
|
|
|
The timeout time is a fixed constant,
|
|
|
|
which means you wait a long time for timeouts since it assumes sort
|
|
|
|
of a worst case.
|
|
|
|
The program should improve the timeout estimate as
|
|
|
|
it sends queries to a particular host, but doesn't.
|