Мой локальный компьютер работает под управлением Windows 7, которая поддерживает последнюю выпущенную версию протокола SMB (SMB 2.1). У меня также есть удаленный хост, и я не знаю, какая операционная система или программное обеспечение поддержки SMB установлено на этом удаленном хосте; Я только знаю, что удаленный хост поддерживает некоторую версию протокола SMB.
Как узнать из командной строки (или PowerShell) моего компьютера с Windows 7, какая версия SMB поддерживается этим удаленным хостом?
Изменить: хотя я упоминал Windows 7 выше, я уверен, что этот вопрос относится ко многим системным / сетевым администраторам или персоналу службы поддержки настольных компьютеров, поэтому я пишу вопрос здесь, а не на superuser.com.
Ответы:
Самый простой способ - установить WireShark и перехватить пакеты, он декодирует их и должен показать вам версию протокола. У них есть запись SMBv2 в их вики , поэтому последняя версия WireShark должна декодировать ее во время захвата пакета.
источник
В Windows 8 и выше вы можете использовать команду powerhsell,
Get-SmbConnection
чтобы проверить, какая версия SMB используется для каждого соединения.источник
Существует только два возможных способа определения версии SMB удаленного хоста.
Во-первых , захват баннера с помощью telnet. Даже тогда вы не гарантированы, что что-то полезное вернется. Я могу успешно подключиться к одному из моих SMB-серверов, но не получаю никакой полезной информации о баннере.
Во-вторых , для идентификации системы по сети с помощью сканера сетевой безопасности. Вам придется искать хорошую инструментальную мысль, потому что вам все еще не гарантирован успех в определении, какая версия SMB работает. Например, я только что использовал быстрое сканирование с помощью nmap в своей сети (я знаю, что он работает под управлением Microsoft SMB на нескольких конечных точках), и я не получаю соответствующей информации о том, какую версию SMB он использует.
источник
Вот что вы делаете, чтобы вытащить версию SMB:
Теперь вы собираетесь запустить 2 команды в течение 10 секунд, иначе Windows закроет порты как неиспользуемые.
3a. Запустите "dir \ SERVERNAME \ C $"
3b. Запустите «Get-SmbConnection», и вы увидите, что столбец «Диалект» является версией вашего SMB.
https://blogs.technet.microsoft.com/josebda/2013/10/02/windows-server-2012-r2-which-version-of-the-smb-protocol-smb-1-0-smb-2- 0-СМБ-2-1-СМБ-3-0 или-СМБ-3-02-в-вы-с помощью кнопок /
SMB Stack Matrix
источник