Solaris man マニュアル
System Administration Commands                           ntpq(1M)

NAME
     ntpq - standard Network Time Protocol query program

SYNOPSIS
     /usr/sbin/ntpq [-inp] [-c command] [host] [...]

DESCRIPTION
     ntpq queries NTP servers which implement the recommended NTP
     mode  6  control message format, about current state. It can
     also request changes in that state. The program can  be  run
     in  interactive  mode; or it can be controlled using command
     line arguments. Requests to read and write  arbitrary  vari-
     ables  can  be assembled, with raw and pretty-printed output
     options  available.  By  sending  multiple  queries  to  the
     server,  ntpq can also obtain and print a list of peers in a
     common format.

     If one or more request options are included on  the  command
     line, ntpq sends each of the requests to NTP servers running
     on each of the hosts given as  command  line  arguments.  By
     default,  ntpq sends its requests to localhost, if hosts are
     not included on the command line. If no request options  are
     given,  ntpq  attempts  to  read  commands from the standard
     input and execute them on the  NTP  server  running  on  the
     first  host  given on the command line. Again, ntpq defaults
     to localhost if no other host is specified.

     ntpq uses NTP mode 6 packets  to  communicate  with  an  NTP
     server.  Thus, it can be used to query any compatible server
     on the network that permits queries. Since NTP is a UDP pro-
     tocol, this communication will be somewhat unreliable, espe-
     cially over large  distances.  ntpq  makes  one  attempt  to
     retransmit  requests; requests timeout if the remote host is
     not heard from within a suitable period.

OPTIONS
     Command line options are described below. Specifying a  com-
     mand  line  option  other than -i or -n causes the specified
     query (queries) to be sent,  immediately  to  the  indicated
     host(s). Otherwise, ntpq attempts to read interactive format
     commands from standard input.

     -c       Interpret the next argument as an interactive  for-
              mat  command  and add it to the list of commands to
              be executed on the specified host(s).  Multiple  -c
              options may be given.



     -i       Operate in interactive mode; write prompts to stan-
              dard output and read commands from standard input.



     -n       Output all host addresses  in  dotted-quad  numeric
              format  rather  than  converting  them to canonical
              host names.



     -p       Print a list of the peers known to  the  server  as
              well   as   a  summary  of  their  state.  This  is
              equivalent to the peers  interactive  command.  See
              USAGE below.




USAGE
     Interactive format commands consist of a keyword followed by
     up  to  four  arguments.  Only enough characters of the full
     keyword to uniquely identify the command need be typed. Nor-
     mally,  the  output of a command is sent to standard output;
     but this output may be written to a file by appending a `>',
     followed by a file name, to the command line.

  Interactive Commands
     A  number  of  interactive  format  commands  are   executed
     entirely  within the ntpq program itself. They do not result
     in NTP mode 6 requests being sent to a server. If no request
     options  are  included on the command line, and if the stan-
     dard input is a terminal device, ntpq prompts for these com-
     mands. The interactive commands are described below:

     ? [command_keyword]

         A `?' by itself prints a list of all  the  command  key-
         words  known to the current version of ntpq.  A `?' fol-
         lowed by a command keyword  prints  function  and  usage
         information about the command.



     timeoutmilliseconds

         Specifies a time out  period  for  responses  to  server
         queries.   The default is about 5000 milliseconds. Since
         ntpq retries each query once after a time out, the total
         waiting  time for a time out is twice the time out value
         that is set.



     delaymilliseconds

         Specifies a time interval  to  be  added  to  timestamps
         included  in requests which require authentication. This
         command is used to enable (unreliable)  server  reconfi-
         guration  over  long  delay  network  paths  or  between
         machines whose clocks are unsynchronized. Currently, the
         server  does  not  require  time stamps in authenticated
         requests. Thus, this command may be obsolete.



     hosthostname

         Set the name of the host to which future queries are  to
         be sent. Hostname may be either a host name or a numeric
         address.



     keyid #

         Specify of a key number to be used to authenticate  con-
         figuration  requests.  This  number must correspond to a
         key number the server has been  configured  to  use  for
         this purpose.



     passwd

         Allow the user to specify  a  password  at  the  command
         line.  This  will  be used to authenticate configuration
         requests. If an authenticating key  has  been  specified
         (see keyid above), this password must correspond to this
         key. ntpq does not echo the password as it is typed.



     hostnames yes|no

         If "yes" is specified, host names are printed in  infor-
         mation displays. If "no" is given, numeric addresses are
         printed instead. The default is  "yes"  unless  modified
         using the command line -n switch.



     raw

         Print all output from query commands exactly  as  it  is
         received    from    the   remote   server.    The   only
         formatting/filtering done on the data  is  to  transform
         non- ASCII data into printable form.



     cooked

         Causes output from query commands to  be  "cooked".  The
         values  of variables recognized by the server are refor-
         matted, so that they can be more easily read.  Variables
         which  ntpq thinks should have a decodable value, but do
         not, are marked with a trailing `?'.



     ntpversion[ 1|2|3 ]

         Sets the NTP version number which ntpq claims in packets
         (defaults  is 3). Note that mode 6 control messages (and
         modes, for that matter) did not exist in NTP version  1.
         There  appear to be no servers left which demand version
         1.



     authenticate[ yes|no ]

         The command authenticate  yes  instructs  ntpq  to  send
         authentication with all requests it makes. Normally ntpq
         does not authenticate requests  unless  they  are  write
         requests.  Authenticated  requests cause some servers to
         handle requests slightly differently, and can  occasion-
         ally  cause a slowed response if you turn authentication
         on   before    doing    a    peer    display.    addvars
         variable_name[=value]  [  ,...  ] rmvars variable_name [
         ,... ] clearvars

         The data carried by NTP mode 6 messages  consists  of  a
         list of items of the form


         variable_name=value


         where the "=value" is ignored, and can  be  omitted,  in
         requests to the server to read variables. ntpq maintains
         an internal list in which data to be included in control
         messages  can  be  assembled,  and  sent. This is accom-
         plished  with  the  readlist  and   writelist   commands
         described  below.   The addvars 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  it  should  not  contain  white
         space.  The rmvars command can be used to remove indivi-
         dual variables from  the  list;  the  clearlist  command
         removes all variables from the list.



     debug[ more|less|off ]

         Turns internal query program debugging on and off.



     quit

         Exit ntpq.




  Control Message Commands
     Each peer known to an
      NTP server has a  16  bit  integer  association  identifier
     assigned  to it. NTP control messages which carry peer vari-
     ables must identify the peer that the values correspond  to,
     by  including  its association ID. An association ID of 0 is
     special. It indicates the variables  are  system  variables,
     whose names are drawn from a separate name space.

     Control message commands send one or more NTP  mode  6  mes-
     sages  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 mreadlist and mreadvar com-
     mands.  The  peers  command  sends a preprogrammed series of
     messages to obtain the data  it  needs.  The  mreadlist  and
     mreadvar commands, iterate over a range of associations.

     Control message commands are described below:

     associations

         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 that numbers the associations from 1,
         for internal use. The second column contains the  actual
         association  identifier  returned  by the server and the
         third the status word for the peer. This is followed  by
         a  number  of  columns  containing data decoded from the
         status word. Note that the data returned by the associa-
         tions command is cached internally in ntpq. The index is
         then of use when dealing with "dumb" servers  which  use
         association  identifiers  that  are  hard  for humans to
         type. For any subsequent commands which require an asso-
         ciation identifier as an argument, the identifier can be
         specified by using the form, &index. Here index is taken
         from the previous list.


     lassociations

         Obtains and prints a list of association identifiers and
         peer  statuses for all associations for which the server
         is maintaining state.  This  command  differs  from  the
         associations command only for servers which retain state
         for out-of-spec client associations.  Such  associations
         are  normally omitted from the display when the associa-
         tions command is used, but are included in the output of
         lassociations.



     passociations

         Prints association data concerning  in-spec  peers  from
         the internally cached list of associations. This command
         performs identically to the associations command  except
         that  it displays the internally stored data rather than
         making a new query.



     lpassociations

         Print data for all associations,  including  out-of-spec
         client  associations, from the internally cached list of
         associations. This command differs from
          passociations only  when  dealing  with  servers  which
         retain
          state for out-of-spec client associations.



     pstatusassocID

         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 displayed preceding the variables, both in
         hexadecimal and in pigeon English.



     readvar [ assoc] [ variable_name[=value][ ,... ]]

         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.



     rv [ assocID] [ variable_name[=value][ ,... ]]

         An easy-to-type short form for the readvar command.



     writevar assocID variable_name=value [ ,... ]

         Like the readvar request, except the specified variables
         are written instead of read.



     readlist [ assocID]

         Requests that the values of the variables in the  inter-
         nal  variable  list  be  returned  by the server. If the
         association ID is omitted or  is  0  the  variables  are
         assumed  to  be  system  variables.   Otherwise they are
         treated as peer variables. If the internal variable list
         is  empty  a  request is sent without data, which should
         induce the remote server to return a default display.



     rl [ assocID]

         An easy-to-type short form of the readlist command.



     writelist [ assocID]

         Like the readlist  request,  except  the  internal  list
         variables are written instead of read.



     mreadvar assocID assocID [ variable_name[=value] [ ,... ]]

         Like the readvar 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 associations command.



     mrv assocID assocID [ variable_name[=value] [ ,... ]]

         An easy-to-type short form of the mreadvar command.



     mreadlistassocID assocID

         Like the readlist 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 associations command.



     mrlassocID assocID

         An easy-to-type short form of the mreadlist command.



     clockvar [ assocID] [ variable_name[=value][ ,... ]]

         Requests that a list of the server's clock variables  be
         sent. Servers which have a radio clock or other external
         synchronization respond positively to this. If the asso-
         ciation identifier is omitted or zero the request is for
         the variables of the "system clock". This  request  gen-
         erally  gets a positive response from all servers with a
         clock. Some servers may  treat  clocks  as  pseudo-peers
         and,  hence,  can possibly have more than one clock con-
         nected at  once.  For  these  servers,  referencing  the
         appropriate peer association ID shows the variables of a
         particular clock. Omitting the variable list causes  the
         server to return a default variable display.



     cv [ assocID] [ variable_name[=value][ ,... ]]

         An easy-to-type short form of the clockvar command.



     peers

         Obtains a list of in-spec peers  of  the  server,  along
         with a summary of each peer's state. Summary information
         includes:


           o  The address of the remote peer

           o  The reference ID (0.0.0.0 if the ref ID is unknown)

           o  The stratum of the remote peer

           o  The type of the peer (local, unicast, multicast  or
              broadcast) when the last packet was received

           o  The polling interval in seconds

           o  The reachability register, in octal

           o  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. The codes
         mean:


         SPACE           Discarded due  to  high  stratum  and/or
                         failed sanity checks.




         x               Designated falsticker by  the  intersec-
                         tion algorithm.



         .               Culled from the  end  of  the  candidate
                         list.



         -               Discarded by the clustering algorithm.



         +               Included in the final selection set.



         #               Selected for synchronization;  but  dis-
                         tance exceeds maximum.



         *               Selected for synchronization.



         o               Selected for synchronization, pps signal
                         in use.



         Since the peers command depends on the ability to  parse
         the values in the responses it gets, it may fail to work
         from time to time with servers which poorly control  the
         data formats.

         The contents of the host field may be given  in  one  of
         four  forms.  It  may  be  a host name, an IP address, a
         reference clock implementation name with  its  parameter
         or, REFCLK(implementation number, parameter).  On "host-
         names no" only IP-addresses will be displayed.


     lpeers

         Like 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  inadequate
         servers.



     opeers

         An old form of the peers command with the  reference  ID
         replaced by the local interface address.




ATTRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWntpu                    |
    |_____________________________|_____________________________|


SEE ALSO
     attributes(5)

BUGS
     The peers command is non-atomic. It may occasionally  result
     in spurious error messages about invalid associations occur-
     ring and terminating the command.

     The timeout value is a fixed constant. As a result, it often
     waits  a long time to timeout, since the fixed value assumes
     sort of a worst case.  The program should improve  the  time
     out  estimate  as it sends queries to a particular host; but
     it does not.