ntpdc

Запрос сервиса NTP

Синтаксис:

ntpdc [-46ilnps] [-c команда] [хост] [...]

Поддерживаемые платформы:

Neutrino

Опции:

-4

Принудительно выполнить DNS-преобразование имен хостов в пространство имен IP4.

-6

Принудительно выполнить DNS-преобразование имен хостов в пространство имен IP6.

-c команда

Выполнить данную команду на указанных хостах. Можно указать несколько опций -c. Подробная информация о командах приведена далее.

-i

Запустить утилиту ntpdc в интерактивном режиме. Приглашения будут выводиться в стандартный поток вывода, а команды будут считываться из стандартного потока ввода.

-l

Получить список известных серверам партнеров. Эта опция аналогична -c listpeers.

-n

Вместо преобразования в канонические имена хоста вывести все адреса хостов в четырехкомпонентном формате с точками.

-p

Вывести список известных серверу партнеров (peers), а также сводную информацию об их состоянии. Эта опция аналогична -c peers.

-s

Вывести список известных серверу партнеров, а также сводную информацию об их состоянии. Формат этого списка немного отличается от формата списка, выводимого при использовании опции -p. Данная опция аналогична команде -c dmpeers.

Описание:

Утилита ntpdc используется для запроса текущего состояния сервера ntpd, а также изменений этого состояния. Эту утилиту можно запустить в интерактивном или командном режиме. Она обеспечивает вывод подробной информации о состоянии и статистических данных. Во время выполнения все конфигурационные опции, указанные при запуске с использованием конфигурационного файла утилиты ntpd, также можно указать с помощью утилиты ntpdc.

При запуске утилиты ntpdc путем добавления в командную строку одного или нескольких запросов каждый запрос направляется на серверы NTP, работающие на каждом из указанных хостов. Если опция запроса не указана, то утилита ntpdc предпринимает попытку считать команды из стандартного потока ввода и выполнить их на сервере NTP, запущенном на первом хосте, в соответствии с командной строкой. Если хост не указан, по умолчанию используется localhost. Если стандартный поток ввода соответствует терминалу, утилита ntpdc выводит приглашение на ввод команд.

Для взаимодействия с сервером NTP утилита ntpdc использует пакеты NTP режима 7 и, следовательно, может использоваться для отправки запроса на любой совместимый сервер в сети с поддержкой этого режима. Однако эта процедура ненадежна, особенно в случае больших расстояний в топологии сети. Утилита ntpdc не предпринимает попытку повторной передачи запросов, и, если ответ с удаленного хоста не поступает в пределах допустимого таймаута, завершает работу по таймауту.

Примечание. Поведение NTP аналогично поведению UDP (User Datagram Protocol; протокол пользовательских дейтаграмм).

Если перед именем хоста указать опцию -4 (или -6), то таким образом можно инициировать DNS-преобразование в пространство имен IPv4 (или IPv6).

Интерактивные команды

Интерактивные команды форматирования содержат ключевое слово, после которого следует несколько аргументов или ни одного аргумента. Для определения команды необходимо ввести соответствующее число символов. Как правило, вывод команды направляется в стандартный поток вывода, но вывод отдельных команд можно направить в файл путем добавления в командную строку символа "<" и имени файла. Некоторые интерактивные команды выполняются исключительно внутри утилиты ntpdc:

? [ключевое_слово_команды]
help [ключевое_слово_команды]

Вывести список всех ключевых слов команд для утилиты ntpdc. Если указано ключевое слово команды, то выводится информация о назначении и использовании команды.

delay миллисекунды

Задать интервал времени. Этот интервал добавляется к меткам времени для запросов, требующих аутентификации.

host имя_хоста

Задать хост, на который будут отправляться запросы в будущем. Имя_хоста может быть определено именем хоста или цифровым адресом.

hostnames [yes | no]

При выборе yes вывести имена хостов в представлении информации. При выборе no вывести цифровой адрес. Значение по умолчанию yes, если оно не изменено с помощью опции командной строки -n.

keyid идентификатор_ключа

Установить идентификатор ключа, используемый для аутентификации конфигурационных запросов. Этот идентификатор должен соответствовать идентификатору ключа, который был сконфигурирован на сервере.

passwd

Вывести приглашение на ввод пароля (пароль не выводится на экран), который используется для аутентификации конфигурационных запросов. Пароль должен соответствовать ключу, настроенному с этой целью для сервера NTP.

quit

Завершить выполнение утилиты ntpdc.

timeout миллисекунды

Задать период таймаута для отклика сервера на запросы. Значение по умолчанию около 8000 миллисекунд. Поскольку утилита ntpdc только один раз повторно направляет каждый запрос по истечении таймаута, общее время ожидания для таймаута в два раза превышает указанное значение таймаута.

Команды управляющих сообщений

При использовании утилиты ntpdc для запроса на сервер направляются пакеты NTP режима 7. Поскольку эти команды доступны только для чтения, они не изменяют состояние конфигурации сервера.

listpeers

Получить и вывести краткий список партнеров, состояние которых поддерживает сервер. Этот список должен включать в себя все созданные ассоциации партнеров, а также партнеров, которые обладают таким уровнем, что сервер рассматривает их в качестве кандидатов для будущей синхронизации.

peers

Получить список партнеров, состояние которых поддерживает сервер, а также сводную информацию об этом состоянии. Эта сводная информация включает в себя адрес удаленного партнера, адрес локального интерфейса (0.0.0.0, если локальный адрес еще не определен), уровень удаленного партнера (значение уровня 16 указывает на то, что удаленный партнер сети не синхронизирован), интервал опроса (в секундах), регистр в восьмеричном формате и текущие предполагаемые значения задержки, смещения и дисперсии для партнера (в секундах).

Символ в левом столбце указывает на режим, в котором функционирует партнер сети.

Символ

Смысл

+

Симметрично активный

-

Симметрично пассивный

=

Опрос удаленного сервера в режиме клиента

^

Широковещательная передача сервером на указанный адрес

*

В настоящее время выполняется синхронизация с данным партнером.


Поле хоста может содержать один из следующих вариантов данных:
  1. имя хоста;

  2. IP-адрес;

  3. имя реализации системных часов с соответствующим параметром или функцией REFCLK(implementation number, parameter).

При выборе no отображаются только IP-адреса.

dmpeers

Получить список со сводной информацией о партнерах, аналогичный выводу команды peers, за исключением символа в крайнем левом столбце. Символы отображаются только рядом с теми партнерами, которые были отобраны для заключительного этапа алгоритма выбора частоты синхронизации. Символ "." указывает на то, что партнер сети отброшен в процессе обнаружения источника ложного времени, тогда как "+" указывает на то, что операция на сервере-партнере выполнена успешно. Символ "*" обозначает партнера, с которым в настоящее время выполняется синхронизация.

showpeer адрес_партнера [...]

Вывести подробное представление текущих переменных партнера для одного или нескольких партнеров. Большинство этих значений описано в спецификации NTP версии 2.

pstats адрес_партнера [...]

Показать статистические счетчики партнеров, связанных с указанными партнерами.

clockinfo адрес_сервера_времени [...]

Получить и вывести информацию о сервере времени. Полученные значения определяют "настроечные" параметры и другую информацию о точности часов.

kerninfo

Получить и вывести рабочие параметры фазовой автоподстройки частоты ядра. Эта информация доступна только в случае намеренной модификации ядра для обеспечения работы функции точного хронометрирования.

loopinfo [oneline | multiline]

Вывести значения выбранных переменных контурного фильтра. Контурный фильтр в составе NTP обеспечивает корректировку локальных системных часов. Значение смещение это последнее значение смещения, передаваемое в контурный фильтр кодом обработки пакетов. Значение частота это погрешность частоты локальных часов в миллионных долях. Значение константа_времени определяет устойчивость фазовой автоподстройки частоты и, таким образом, возможную скорость адаптации к смещению тактового генератора. Значение сторожевой_таймер это истекший период в секундах с момента отправки последнего значения смещения в контурный фильтр. Опции oneline и multiline определяют формат вывода этой информации; по умолчанию применяется опция multiline.

sysinfo

Вывести ряд переменных состояния системы, т.е. состояния, связанного с локальным сервером. В спецификации NTP версии 3 (RFC 1305) описаны все переменные, за исключением последних четырех строк.

Системные флаги соответствуют различным флагам, некоторые из которых устанавливаются и снимаются с помощью конфигурационных команд enable и disable соответственно. Это флаги auth, bclient, monitor, pll, pps и stats. Значения этих флагов описаны в документации по ntpd.

Дополнительные флаги kernel_pll и kernel_pps предназначены только для чтения. В случае применения модификаций ядра для обеспечения точного хронометрирования эти флаги определяют состояние синхронизации. kernel_pll указывает на то, что дисциплину локальных часов обеспечивает ядро; kernel_pps указывает на то, что дисциплина ядра зависит от сигнала PPS.

Стабильность это погрешность частоты, наблюдаемая после применения корректировки системной частоты, которая используется в целях обслуживания и отладки. В QNX Neutrino это значение первоначально снижается с 500 миллионных долей до номинального значения в диапазоне от 0,01 до 0,1 миллионных долей. Если это значение остается на высоком уровне в течение определенного времени после запуска сервиса, это может указывать на ошибку локальных часов или неверное значение переменной такта ядра. broadcastdelay выводит задержку широковещательной передачи по умолчанию, установленную конфигурационной командой broadcastdelay. authdelay выводит задержку аутентификации по умолчанию, установленную конфигурационной командой "authdelay".

sysstats

Вывести статистические счетчики, ведение которых выполняется в модуле протокола.

memstats

Вывести статистические счетчики, связанные с кодом распределения памяти.

iostats

Вывести статистические счетчики, ведение которых выполняется в модуле ввода/вывода.

timerstats

Вывести статистические счетчики, ведение которых выполняется с помощью кода поддержки таймера/очереди событий.

reslist

Получить и вывести список ограничений для сервера. Этот список (обычно) отсортирован и позволяет понять логику применения ограничений.

monlist [версия]

Получить и вывести счетчики трафика, сбор и ведение которых выполняется функцией мониторинга. Как правило, указывать номер версии не требуется.

clkbug адрес_сервера_времени [...]

Получить отладочную информацию для драйвера системных часов (формирователя тактовых импульсов). Эта информация предоставляется не всеми формирователями тактовых импульсов и обычно не может быть расшифрована без копии исходного кода формирователя.

Конфигурационные запросы времени выполнения

С помощью сконфигурированного ключа NTP на сервере выполняется аутентификация всех запросов. В пакетные данные запросов после аутентификации всегда добавляются метки времени, которые, в свою очередь, включаются в расчет кода аутентификации. Эта метка времени сравнивается сервером с полученной меткой времени. В случае значительной разницы запрос отклоняется. Все следующие команды создают аутентифицированные запросы:

addpeer адрес_парнтера [идентификатор_ключа] [версия] [prefer]


Добавить сконфигурированную ассоциацию партнера с указанным адресом, работающего в симметричном активном режиме. Обратите внимание, что при выполнении этой команды существующая ассоциация с тем же партнером может быть удалена или преобразована для обеспечения соответствия этой новой конфигурации, в зависимости от ситуации.

Если дополнительный идентификатор_ключа является целым числом, отличным от нуля, то во все исходящие пакеты к партнеру добавляется зашифрованное поле аутентификации. Если значение равно 0 (или не задано), аутентификация не выполняется. Возможные версии: 1, 2 или 3 (по умолчанию). Ключевое слово prefer указывает на предпочтительный партнер (который, по возможности, в первую очередь используется для синхронизации часов). Предпочтительный партнер также определяет, действителен ли сигнал PPS; если предпочтительный партнер подходит для синхронизации, то сигнал PPS является действительным.

addserver адрес_партнера [идентификатор_ключа] [версия] [предпочтительный_партнер]

Эта команда аналогична команде addpeer за исключением того, что ее рабочим режимом является режим клиента.

broadcast адрес_партнера [идентификатор_ключа] [версия] [предпочтительный_партнер]

Эта команда аналогична команде addpeer за исключением того, что рабочим режимом является широковещательный. В этом случае необходимы действительный идентификатор ключа и ключ. В качестве параметра адрес_ула может быть указан широковещательный адрес локальной сети или групповой адрес, присвоенный NTP. В случае группового адреса необходимо ядро с возможностью многоадресной передачи.

unconfig адрес_партнера [...]

Эта команда удаляет бит сконфигурированного режима из указанных партнеров. Во многих случаях в результате удаляется ассоциация партнера. Однако при необходимости ассоциация может остаться в неконфигурированном режиме, если партнер может продолжить работу в таком режиме.

fudge адрес_партнера [время1] [время2] [уровень] [эталонный_идентификатор]

Эта команда позволяет установить определенные данные для системных часов.

enable [auth | bclient | calibrate | kernel | monitor | ntp | pps | stats]
disable [auth | bclient | calibrate | kernel | monitor | ntp | pps | stats]

Эти команды выполняются так же, как и команды конфигурационного файла enable и disable утилиты ntpd.

restrict адрес маска флаг [флаг]

Эта команда выполняется так же, как и команды ограничения конфигурационного файла утилиты ntpd.

unrestrict адрес маска флаг [флаг]

Снять ограничение для совпадающей записи из списка ограничений.

delrestrict адрес маска [порт_NTP]

Удалить соответствующую запись из списка ограничений.

readkeys

Очистить текущий набор ключей аутентификации и получить новый набор путем повторного чтения файла ключей (который должен быть задан в конфигурационном файле ntpd). Это позволяет изменять ключи шифрования без перезапуска сервера.

trustedkey идентификатор_ключа [...]
untrustedkey идентификатор_ключа [...]

Эти команды выполняются так же, как и команды конфигурационного файла trustedkey и untrustedkey утилиты ntpd.

authinfo

Вернуть информацию о модуле аутентификации, включая известные ключи и количество выполненных операций шифрования и дешифрования.

traps

Вывести все внутренние прерывания, установленные на сервере.

addtrap [адрес [порт] [интерфейс]

Установить внутреннее прерывание для асинхронных сообщений.

clrtrap [адрес [порт] [интерфейс]

Удалить внутреннее прерывание для асинхронных сообщений.

reset

Сбросить счетчики статистики в различных модулях сервера.

Предупреждения:

Утилита ntpdc предназначена для грубого вмешательства. Она разработана для быстрого применения новых (и временных) функций, что существенно влияет на удобство использования программы. Несмотря на это, в некоторых случаях использование этой программы является целесообразным.