Странное поведение клиента telnet при неуказании порта

ПРЕДУПРЕЖДЕНИЕ

Этот метод содержит ошибки в версиях Windows до 7, но он решает проблему на стороне Windows уравнения, а не на конец Linux: вам не нужно настраивать Linux для использования локального времени .


Взято из самой знаменитой и уважаемой Arch Linux Wiki :

Одной из причин, по которой пользователи часто устанавливают RTC в локальное время, является двойная загрузка с Windows (которая использует локальное время).

Однако Windows [может обрабатывать RTC как UTC] с помощью простого исправления реестра. Рекомендуется настроить Windows для использования UTC, а не для Linux для использования локального времени.

Используя regedit , добавьте значение DWORD с шестнадцатеричным значением 1 в реестр:

 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation \ RealTimeIsUniversal 
 

Вы можете сделать это из командной строки администратора:

 reg add "HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ TimeZoneInformation" / v RealTimeIsUniversal / d 1 / t REG_DWORD / f {{1} } 

В качестве альтернативы создайте файл * .reg (на рабочем столе) со следующим содержимым и дважды щелкните его, чтобы импортировать в реестр:

 Редактор реестра Windows версии 5.00 
 
 [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation] 
 "RealTimeIsUniversal" = dword: 00000001 
 

Если это не действует , и используется 64-разрядный вариант Windows, использование значения QWORD вместо значения DWORD может решить проблему.

Если Windows попросит обновить часы из-за перехода на летнее время, позвольте. Он оставит часы в UTC, как ожидалось, исправляя только отображаемое время.

Аппаратные и системные часы, возможно, потребуется обновить после установки этого значения. Если у вас возникли проблемы со смещением времени, попробуйте переустановить tzdata, а затем снова установите часовой пояс :

 # timedatectl set-timezone America / Los_Angeles 
 

6
04.04.2017, 13:35
2 ответа

telnet не является netcat. Протокол telnet — это больше, чем обычный TCP. Помимо прочего, он может иметь ряд опций, и «шум», который вы видите, — это согласование этих опций между вашим клиентом и сервером. Когда вы указываете порт, вы не видите никакого шума, потому что согласно руководству:

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

Таким образом, ваша реализация telnet отключает согласование параметров, когда вы указываете порт (даже если порт равен 23), и повторно включает его, когда перед портом стоит знак минус.

В более общем плане, в наши дни, как правило, можно безопасно забыть о telnet.Вместо этого используйте netcat, если вам нужен простой простой TCP-клиент (или сервер, если уж на то пошло).

39
27.01.2020, 20:20

Весьма вероятно, что ваша команда telnet инициирует сеанс TELNET, если вы не укажете какой-либо порт, и инициирует необработанное TCP-соединение, если какой-либо порт указан.

telnet изначально был разработан для того, чтобы удаленные пользователи могли войти в систему. Таким образом, протокол (см. RFC 854 - его первая версия) разработан таким образом, что клиент telnet согласовывает различные вещи с сервером сразу после того, как соединение было инициировано.

7
27.01.2020, 20:20

Теги

Похожие вопросы