Чтобы автоматически установить точное время на компьютере Windows 7, 8, 10 существует несколько способов настройки автоматической синхронизации для получения точного времени и даты.
Как синхронизировать время на компьютере

Для одноразовой синхронизации нужно проделать следующие действия. Кликнуть левой кнопкой по часам Windows.

Кнопка “Изменение настроек даты и времени” откроет окно настройки. Далее требуется перейти во вкладку “Время по интернету”. В ней будет отображен адрес сервера, который указан в настройках, и последняя дата синхронизации.

Нажав на “Изменить параметры”, можно будет обновить время.
Принцип синхронизации времени
Синхронизация времени осуществляется при подключении компьютера к серверу, на котором указано точное время. Чаще всего, период обновления – 7 дней. Есть способы, с помощью которых можно укоротить промежуток синхронизацию и настроить другой сервер, не стандартный. Один из таких способов – настройка автоматического обновления.
Сломать NTP за 25 минут
Сетевые протоколы — милленниалы имеют одну особенность, они давно
устарели
и никуда уже не годятся, но заменить их не так-то легко даже тогда, когда набирается критическая масса энтузиастов и финансирования.
Основная претензия к классическому NTP в отсутствии надежных механизмов защиты от атак злоумышленников. Предпринимались разнообразные попытки решить эту проблему. Для этого сначала внедрили механизм заранее установленных ключей (PSK) для обмена симметричными ключами.
К сожалению этот способ себя не оправдал в виду простой причины — он плохо масштабируется. Нужна ручная настройка на стороне клиента в зависимости от сервера. Это значит, что вот так вот просто нельзя добавить еще одного клиента. Если на сервере NTP что-то меняется, надо перенастраивать все клиенты.
Тогда придумали AutoKey, но сразу же в нем обнаружили ряд серьезных уязвимостей в самом дизайне алгоритма и от него пришлось отказаться. Все дело в том, что начальное число (seed) содержит всего лишь 32-бита, оно слишком мало и не содержит достаточно вычислительной сложности для лобовой атаки.
- Key ID — симметричный 32-битный ключ;
- MAC (message authentication code) — контрольная сумма NTP пакета;
Autokey рассчитывается следующим образом.
Autokey=H(Sender-IP||Receiver-IP||KeyID||Cookie)
Где H() — криптографическая хэш функция.
Для расчета контрольной суммы пакеты используется та же функция.
MAC=H(Autokey||NTP packet)
Так получается, что вся целостность проверок пакетов держится на аутентичности кукис. Завладев ими, можно восстановить autokey и затем подделать MAC. Однако сервер NTP при их генерации использует начальное число (seed). Именно тут кроется подвох.
Cookie=MSB_32(H(Client IP||Server IP||0||Server Seed))
Функция MSB_32 отрезает от результата вычисления md5 хэша 32 старших бита. Клиентский куки не меняется до тех пор, пока параметры сервера неизменны. Дальше злоумышленнику остается лишь восстановить начальное число и получить возможность самостоятельно генерить куки.
Для начала следует подключиться к серверу NTP в качестве клиента и получить куки. После этого методом перебора злоумышленник восстанавливает начальное число следуя простому алгоритму.
Алгоритм атаки на вычисление начального числа методом перебора.
for i=0:2^32 − 1 do Ci=H(Server-IP||Client-IP||0||i) if Ci=Cookie then return i end if end for
IP адреса известны, так что остается лишь создать 2^32 хэша до тех пор пока созданный куки не совпадет с тем, что получен от NTP сервера. На обычной домашней станции с Intel Core i5 на это уйдет 25 мин.
Необходимость синхронизации
Есть сферы деятельности, в которых не обойтись без синхронизации времени. Точность времени особенно важна, например, для торговли на бирже, где утраченные доли секунды могут привести к серьёзным финансовым убыткам. Важно синхронизировать время в телекоммуникационных сетях, в автоматизированных системах учета, системах управления аэропортами, метро, железнодорожным транспортом. В принципе, любая масштабная электронная автоматизированная система, к которой подключено много устройств, нуждается в высокой точности временных показателей для бесперебойной и безошибочной работы.
Как работает протокол NTP
В основе протокола NTP лежит иерархическая структура серверов точного времени, в которой выделяются различные уровни (англ. strata). К уровню 0 относятся эталонные часы (атомные часы или часы GPS). На нулевом уровне NTP-серверы не работают.
С эталонными часами синхронизируются NTP-серверы первого уровня, которые являются источниками для серверов уровня 2. Серверы уровня 2 синхронизируются с серверами уровня 1, но могут также синхронизироваться и между собой. Аналогичным образом работают серверы уровня 3 и ниже. Всего поддерживается до 256 уровней.
Иерархическая структура протокола NTP характеризуется отказоустойчивостью и избыточностью. В случае отказов соединения с вышестоящими серверами резервные серверы берут процесс синхронизации на себя. За счет избыточности обеспечивается постоянная доступность NTP-серверов. Синхронизируясь с несколькими серверами, NTP использует данные всех источников, чтобы рассчитать наиболее точное время.
Панель управления
1. Откройте Панель управления.
2. Посетите ее раздел под названием «Часы, язык и регион».
3. Перейдите в подраздел «Дата и время».
4. Активируйте «Время по интернету» и переходите к 7-му шагу предыдущей инструкции.
Автоматизация функции
Чтобы синхронизировать время компьютера с интернетом автоматически, достаточно в последнем окне поставить галочку в единственной клеточке. Если подключиться к северу невозможно или при обновлении времени происходит погрешность, то можно выбрать один из дополнительных серверов, благо ОС предоставляет на выбор целых 5, либо найти адрес в интернете и вписать его в строку “сервер”.
Будьте внимательны, последний выбранный сервер останется в настройках по умолчанию, с ним операционная система и будет автоматически синхронизировать время на компьютере с интернетом.
Настройки автоматической синхронизации
В системе Windows 7, 8, 10 есть встроенные часы, которые расположены в правом нижнем углу экрана, на панели уведомлений. Эти часы уже настроены на автоматическое обновление времени, а сервером является “time.windows.com”. Бывают случаи, когда время, все же, не синхронизируется. Если пользователь столкнулся с такой проблемой, перейдем к ее решению.
Стандартные настройки
Для начала стоит воспользоваться стандартным функционалом:
- Перейти по пути “Пуск” – “Панель Управления”, в правом углу открывшегося окна найти пункт “Просмотр”, изменить значение на “Мелкие значки”, затем найти пункт “Дата и время”.
- Откроются настройки времени. Их также можно вызвать по клику левой кнопкой мыши на календаре в строке уведомлений. В открывшемся подменю нужно выбрать “Изменение настроек даты и времени…”.
- Далее, в открывшемся окне, перейти на вкладку “Время по Интернету”. На ней будет предоставлены сведения о существующем способе синхронизации и названии сервера (если она включена). Для изменения конфигурации нажать на “Изменить параметры…”.
- Список серверов времени для синхронизации будет описан далее. Выбрать один из них, либо один из предоставленных по стандарту, кликнуть по кнопке “Обновить сейчас” и убедиться в том, что галочка напротив пункта “Синхронизировать с сервером времени в Интернете” активна. Нажать “ОК”.
Это позволит устанавливать время и дату на компьютере автоматически.
Командная строка
Следующий способ не помогает настроить синхронизацию, это просто команда, которая помогает провести операцию синхронизации вручную с целью ее ускорения:
- Нажать комбинацию клавиш “WIN+R”, в поле открывшегося окна ввести “cmd” (возможно потребуются права администратора).
- Откроется командная строка. Ввести команду “w32tm /resync”.
Команда сработает, если включено автообновление времени.
SP TimeSync
Также можно воспользоваться сторонними приложениями:
- После того как программа была загружена и установлена, важно настроить ее на автозапуск при старте системы. Не обязательно в развернутом состоянии. Нужно отметить соответствующие пункты галочками.
- Перейти к вкладке “NTP клиент”, в пункте меню “Получать каждые…” указать интервал обновления.
- Вернуться к вкладке “Время”, нажать на кнопку “Получить время”, затем “Задать время”. После этого системное значение будет изменено на значение из программы.
Важно: программу нужно не закрывать, а сворачивать в трей, иначе обновления не произойдет.
Средства командной строки
Не всегда удобно использовать графические средства настройки системы. Например, если окно перегружено текстом: глаза пытаются найти нужную кнопку, но все сливается в одно монотонное изображение. Да и ввод пары команд производится быстрее, чем частые перемещения курсора мыши из одного угла окна в другой.
Чтобы синхронизировать время на компьютере с интернетом при помощи командной строки, откройте меню “Пуск” и выберите “Выполнить” либо просто нажмите Win+R на клавиатуре. В строке окна, которое запустится, напишите cmd, а после нажмите Enter. Так вы войдете в командную строку, следующая команда выполнит обновление времени на локальном компьютере с сервером, установленным по умолчанию:
- w32tm /resync.

Для настройки сервера, который будет использовать система, чтобы синхронизировать время на локальном компьютере с интернетом, выполните команды:
- w32tm /config /manualpeerlist:[сервер для синхронизации] /syncfromflags:manual /reliable:yes (эта команда устанавливает сервер, время которого будет использоваться для обновлений);
- w32tm /config /update (сообщение службе времени о том, что настройки изменились);
- net stop w32time && net start w32time (перезапуск службы).
Командная строка – это слишком сложно?
Windows – это ОС, функциональность которой может быть расширена дополнительными приложениями. Если при настройке обновления времени вы испытываете сложности, то можно использовать самый просто вариант – скачать программу, которая сделает множество шагов сама и потребует минимального вмешательства. Тем более что такие программы позволяют синхронизировать время с большей точностью, чем стандартные средства системы. Часто они могут учитывать задержки при получении и отправке пакетов и получать адреса серверов из списков в интернете.
Популярные серверы
NTP-Servers
Самый распространенный сервер точного времени среди всех, имеет несколько адресов для синхронизации. Чтобы найти адреса, нужно в правой части сайта NTP-Servers кликнуть по кнопке “Серверы”.
NTP Pool Project
После перехода на сайт NTP Pool Project выбрать сервер в правой части экрана, соответствующий региону.
Скопировать один из адресов и настроить время на ПК.
Time in UA
Сервер Time in UA специально для украинской аудитории. Все что нужно – перейти на сайт и выбрать один из адресов.
Установка локальной даты и времени
С помощью команды ntpdate можно установить на сервере локальную дату и время, отправив соответствующий запрос к NTP-серверу:
$ ntpdate -u 192.168.1.1
Текущий статус ntpd можно проверить с помощью следующей команды:
$ ntpdc -c sysinfo
Ее вывод выглядит так:
system peer: 62.76.96.10system peer mode: clientleap indicator: 11stratum: 3precision: −21root distance: 0.01314 sroot dispersion: 1.66203 sreference ID: [62.76.96.4]reference time: d768a894.3824a929 Thu, Jul 10 2014 9:52:20.219system flags: auth monitor ntp kernel stats jitter: 0.393768 sstability: 0.000 ppmbroadcastdelay: 0.000000 sauthdelay: 0.000000 s