Как узнать версию smb windows

Сетевой протокол SMB (Server Message Block) используется для предоставления совместного удаленного доступа к файлам, принтерам и другим устройствам через порт TCP 445. В этой статье мы рассмотрим: какие версии (диалекты) протокола SMB доступны в различных версиях Windows (и как они соотносятся с версиями samba в Linux); как определить версию SMB на вашем компьютере; и как включить/отключить клиент и сервер SMBv1, SMBv2 и SMBv3.

Содержание:

  • Версии протокола SMB в Windows
  • Как проверить поддерживаемые версии SMB в Windows?
  • Вывести используемые версии SMB с помощью Get-SMBConnection
  • Об опасности использования SMBv1
  • Включение и отключение SMBv1, SMBv2 и SMBv3 в Windows

Версии протокола SMB в Windows

Есть несколько версии протокола SMB (диалектов), которые последовательно появлялись в новых версиях Windows:

Для реализации протокола SMB в Linux/Unix системах используется samba. В скобках мы указали в каких версиях samba поддерживается каждый диалект SMB.

  • CIFS — Windows NT 4.0;
  • SMB 1.0 — Windows 2000;
  • SMB 2.0 — Windows Server 2008 и Windows Vista SP1 (поддерживается в Samba 3.6);
  • SMB 2.1 — Windows Server 2008 R2 и Windows 7 (поддерживается в Samba 4.0);
  • SMB 3.0 — Windows Server 2012 и Windows 8 (поддерживается в Samba 4.2);
  • SMB 3.02 — Windows Server 2012 R2 и Windows 8. 1 (не поддерживается в Samba);
  • SMB 3.1.1 – Windows Server 2016 и Windows 10 (не поддерживается в Samba).

Начиная с версии Samba 4.14, по умолчанию используется SMB2.1.

При сетевом взаимодействии по протоколу SMB между клиентом и сервером используется максимальная версия протокола, поддерживаемая одновременно и клиентом, и сервером.

Ниже представлена сводная таблица, по которой можно определить версию протокола SMB, которая выбирается при взаимодействии разных версий Windows:

Операционная система Win 10, Server 2016 Windows 8.1,
Server 2012 R2
Windows 8,
Server 2012
Windows 7,
Server 2008 R2
Windows Vista,
Server 2008
Windows XP, Server 2003 и ниже
Windows 10 ,

Windows Server 2016

SMB 3.1.1 SMB 3.02 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0
Windows 8.1 ,
Server 2012 R2
SMB 3.02 SMB 3.02 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0
Windows 8 ,
Server 2012
SMB 3.0 SMB 3.0 SMB 3.0 SMB 2.1 SMB 2.0 SMB 1.0
Windows 7,
Server 2008 R2
SMB 2.1 SMB 2.1 SMB 2.1 SMB 2.1 SMB 2.0 SMB 1.0
Windows Vista,
Server 2008
SMB 2.0 SMB 2.0 SMB 2.0 SMB 2.0 SMB 2.0 SMB 1.0
Windows XP, 2003 и ниже SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0 SMB 1.0

К примеру, при подключении клиентского компьютера с Windows 8.1 к файловому серверу с Windows Server 2016 будет использоваться протокол SMB 3.0.2.

Согласно таблице Windows XP, Windows Server 2003 для доступа к общим файлам и папкам на сервере могут использовать только SMB 1.0, который в новых версиях Windows Server (2012 R2 / 2016) может быть отключен. Таким образом, если в вашей инфраструктуре одновременно используются компьютеры с Windows XP (снятой с поддержки), Windows Server 2003/R2 и сервера с Windows Server 2012 R2/2016/2019, устаревшие клиенты не смогут получить доступ к файлам и папкам на файловом сервере с новой ОС.

Если Windows Server 2016/2012 R2 с отключенным SMB v1.0 используется в качестве контроллера домена, значить клиенты на Windows XP/Server 2003 не смогут получить доступ к каталогам SYSVOL и NETLOGON на контроллерах домена и авторизоваться в AD.

На старых клиентах при попытке подключиться к ресурсу на файловом сервере с отключенным SMB v1 появляется ошибка:

The specified network name is no longer available

Как проверить поддерживаемые версии SMB в Windows?

Рассмотрим, как определить, какие версии протокола SMB поддерживаются на вашем компьютере Windows.

В Windows 10, 8.1 и Windows Server 2019/2016/2012R2 вы можете проверить состояние различных диалектов SMB протокола с помощью PowerShell:

Get-SmbServerConfiguration | select EnableSMB1Protocol,EnableSMB2Protocol

Get-SmbServerConfiguration | select EnableSMB1Protocol,EnableSMB2Protocol

Данная команда вернула, что протокол SMB1 отключен (
EnableSMB1Protocol=False
), а протоколы SMB2 и SMB3 включены (
EnableSMB1Protocol=True
).

Обратите внимание, что протоколы SMBv3 и SMBv2 тесно связаны между собой. Нельзя отключить или включить отдельно SMBv3 или SMBv2. Они всегда включаются/отключаются только совместно, т.к. используют один стек.

В Windows 7, Vista, Windows Server 2008 R2/2008:

Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}

Если в данной ветке реестра нет параметров с именами SMB1 или SMB2, значить протоколы SMB1 и SMB2 по умолчанию включены.

проверить какие версии smb включены в windows

Также в этих версиях Windows вы можете проверить, какие диалекты SMB разрешено использовать в качестве клиентов с помощью команд:

sc.exe query mrxsmb10

SERVICE_NAME: mrxsmb10
TYPE : 2 FILE_SYSTEM_DRIVER
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

sc.exe query mrxsmb20

SERVICE_NAME: mrxsmb20
TYPE : 2 FILE_SYSTEM_DRIVER
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

В обоих случаях службы запущены (
STATE=4 Running
). Значит Windows может подключаться как к SMBv1, так и к SMBv2 серверам.

Вывести используемые версии SMB с помощью Get-SMBConnection

Как мы говорили раньше, компьютеры при взаимодействии по протоколу SMB используют максимальную версию, поддерживаемую как клиентом, так и сервером. Для определения версии SMB, используемой для доступа к удаленному компьютеру можно использовать командлет PowerShell
Get-SMBConnection
:

Get-SMBConnection вывести в powershell версии smb, исопльзуемые для подключения

Версия SMB, используемая для подключения к удаленному серверу (ServerName) указана в столбце Dialect.

Можно вывести информацию о версиях SMB, используемых для доступа к конкретному серверу:

Get-SmbConnection -ServerName servername

Если нужно отобразить, используется ли SMB шифрование (появилось в SMB 3.0), выполните:

Get-SmbConnection | ft ServerName,ShareName,Dialect,Encrypted,UserName

В Linux вывести список SMB подключения и используемые диалекты в samba можно командой:

$ sudo smbstatus

Чтобы на стороне сервера вывести список используемых клиентами версий протокола SMB и количество клиентов, используемых ту или иную версию протокола SMB, выполните команду:

Get-SmbSession | Select-Object -ExpandProperty Dialect | Sort-Object -Unique

Get-SmbSession Получить количество клиентов, использующих разные версии SMB

В нашем примере имеется 825 клиентов, подключенных к серверу с помощью SMB 2.1 (Windows 7/Windows Server 2008 R2) и 12 клиентов SMB 3.02.

С помощью PowerShell можно включить аудит версий SMB, используемых для подключения:

Set-SmbServerConfiguration –AuditSmb1Access $true

События подключения затем можно извлечь из журналов Event Viewer с помощью PowerShell:

Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit

Об опасности использования SMBv1

Последние несколько лет Microsoft из соображений безопасности планомерно отключает устаревший протокол SMB 1.0. Связано это с большим количеством критических уязвимостей в этом протоколе (вспомните историю с эпидемиями вирусов-шифровальщиков wannacrypt и petya, которые использовали уязвимость именно в протоколе SMBv1). Microsoft и другие IT компании настоятельно рекомендуют отказаться от его использования.

Однако отключение SMBv1 может вызвать проблемы с доступом к общий файлам и папкам на новых версиях Windows 10 (Windows Server 2016/2019) с устаревших версий клиентов (Windows XP, Server 2003), сторонних ОС (Mac OSX 10.8 Mountain Lion, Snow Leopard, Mavericks, старые версии Linux), различных старых NAS устройствах.

Если в вашей сети не осталось legacy устройств с поддержкой только SMBv1, обязательно отключайте эту версию диалекта в Windows.

В том случае, если в вашей сети остались клиенты с Windows XP, Windows Server 2003 или другие устройства, которые поддерживают только SMBv1, их нужно как можно скорее обновить или тщательно изолировать.

Включение и отключение SMBv1, SMBv2 и SMBv3 в Windows

Рассмотрим способы включения, отключения различных версий SMB в Windows. Мы рассматриваем отдельно включение клиента и сервера SMB (это разные компоненты).

Windows 10, 8.1, Windows Server 2019/2016/2012R2:

Отключить клиент и сервер SMBv1:
Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Отключить только SMBv1 сервер:
Set-SmbServerConfiguration -EnableSMB1Protocol $false

Включить клиент и сервер SMBv1:
Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Включить только SMBv1 сервер:
Set-SmbServerConfiguration -EnableSMB1Protocol $true

Отключить сервер SMBv2 и SMBv3:
Set-SmbServerConfiguration -EnableSMB2Protocol $false

Включить сервер SMBv2 и SMBv3:
Set-SmbServerConfiguration -EnableSMB2Protocol $true

Set-SmbServerConfiguration - powershell отключить SMBv2 и SMBv3

Windows 7, Vista, Windows Server 2008 R2/2008:

Отключить SMBv1 сервер:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 –Force

отключить smbv1 сервер в windows 7 через powershell

Включить SMBv1 сервер:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 –Force

Отключить SMBv1 клиент:

sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled

Включить SMBv1 клиент:

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start= auto

Отключить SMBv2 сервер:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force

Включить SMBv2 сервер

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 –Force

Отключить SMBv2 клиент:

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled

Включить SMBv2 клиент:

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto

Для отключения сервера SMBv1 на всех компьютерах независимо от версии Windows можно распространить параметр реестра типа REG_DWORD с именем SMB1 и значением 0 (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters)на через GPO.

Для отключения SMBv2 нужно в этой же ветке установить параметр SMB2=0.

Для отключения SMBv1 клиента нужно распространить такой параметр реестра:

  • Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10
  • Name: Start
  • Type: REG_DWORD
  • Value: 4

При отключении SMB 1.0/CIFS File Sharing Support в Windows вы можете столкнуться с ошибкой “0x80070035, не найден сетевой путь”, ошибкой при доступе к общим папкам, и проблемами обнаружения компьютеров в сетевом окружении. В этом случае вместо служба обозревателя компьютеров (Computer Browser) нужно использовать службы обнаружения (линк).

SMB или Протоколы блокировки сообщений сервера используются для подключения компьютера к внешнему серверу. Windows 10 поставляется с поддержкой этих протоколов, но они отключены в OOBE. В настоящее время Windows 10 также поддерживает SMBv1, SMBv2 и SMBv3. Разные серверы в зависимости от их конфигурации требуют разных версий SMB для подключения к компьютеру. Но в случае, если вы используете Windows 8.1 или Windows 7, вы можете проверить, включена ли она тоже. Это то, что мы собираемся сделать сегодня.

Содержание

  1. Как проверить версию SMB в Windows
  2. Способы проверки, какая версия SMB установлена ​​на Сервере.
  3. 1] Метод PowerShell
  4. Способы проверить, какая версия SMB установлена ​​на клиентах.
  5. 1] Метод PowerShell

Как проверить версию SMB в Windows

Прежде всего, если у вас Windows 7 , вам не следует отключать SMB v2. Это связано со следующими причинами:

  • Составление запроса – позволяет отправлять несколько запросов SMB 2 как один сетевой запрос
  • Больше чтения и записи – лучшее использование более быстрых сетей
  • Кэширование свойств папок и файлов – клиенты хранят локальные копии папок и файлов
  • Долговечные ручки – позволяют подключению прозрачно переподключаться к серверу при временном отключении
  • Улучшена подпись сообщений – HMAC SHA-256 заменяет MD5 в качестве алгоритма хеширования
  • Улучшенная масштабируемость для обмена файлами – значительно увеличилось количество пользователей, общих ресурсов и открытых файлов на сервер
  • Поддержка символических ссылок
  • Модель аренды клиентских блокировок – ограничивает объем данных, передаваемых между клиентом и сервером, повышает производительность в сетях с высокой задержкой и повышает масштабируемость SMB-серверов.
  • Поддержка большого MTU – для полноценного использования 10-гигабайтного (ГБ) Ethernet
  • Повышенная энергоэффективность – клиенты, которые имеют открытые файлы на сервере, могут спать.

Даже если вы работаете в Windows 8.1 или Windows 10 , вам не следует отключать SMB v3 или SMB v2, поскольку, помимо указанных выше проблем, вы можете столкнуться со следующими проблемами тоже, которые идут с отключением SMB v3:

  • Прозрачное аварийное переключение – клиенты повторно подключаются без перерыва к узлам кластера во время обслуживания или аварийного переключения
  • Scale Out – одновременный доступ к общим данным на всех узлах файлового кластера
  • Многоканальный – агрегирование пропускной способности сети и отказоустойчивости, если доступно несколько путей между клиентом и сервером.
  • SMB Direct – добавляет поддержку сети RDMA для очень высокой производительности, с низкой задержкой и низкой загрузкой процессора
  • Шифрование – обеспечивает сквозное шифрование и защищает от прослушивания в ненадежных сетях.
  • Лизинг каталогов – улучшает время отклика приложений в филиалах за счет кэширования
  • Оптимизация производительности – оптимизация для небольших случайных операций чтения/записи.

Способы проверки, какая версия SMB установлена ​​на Сервере.

Мы будем использовать следующие методы, чтобы проверить, какая версия SMB установлена ​​на вашем компьютере:

  1. Метод PowerShell.
  2. Метод редактора реестра.

1] Метод PowerShell

Если вы хотите проверить, какую версию SMB вы используете, вы можете просто ввести следующую команду в PowerShell:

SMB v1 Windows 10 и Windows 8.1

 Get-WindowsOptionalFeature –Online –FeatureName SMB1Protocol 

SMB v2 для Windows 10 и Windows 8.1

 Get-SmbServerConfiguration | Выберите EnableSMB2Protocol 

SMB v1 для Windows 7

 Get-Item HKLM: \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Parameters | ForEach-Object {Get-ItemProperty $ _. Pspath} 

SMB v2 для Windows 7

 Get-ItemProperty HKLM: \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Parameters | ForEach-Object {Get-ItemProperty $ _. Pspath} 

Если он возвращает значение как True , он включен, иначе отключен.

2] Метод редактора реестра

Введите regedit в поле Начать поиск и нажмите Enter. После открытия редактора реестра перейдите к следующему

 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Параметры 

Теперь, если у вас есть DWORD с именами SMB1 или SMB2 , проверьте их значения.

Если для него установлено значение 0, оно отключено.

И в любом другом случае он включен.

Способы проверить, какая версия SMB установлена ​​на клиентах.

Мы будем использовать следующие методы, чтобы проверить, какая версия SMB установлена ​​на вашем компьютере:

  1. Метод PowerShell.
  2. Метод редактора групповой политики.

1] Метод PowerShell

Итак, если вы хотите проверить, какая версия SMB вы используете, вы можете просто ввести следующее в командной строке с привилегиями уровня администратора,

SMB v1 Windows 10 и Windows 8.1

 sc.exe qc lanmanworkstation 

SMB v2 для Windows 10 и Windows 8.1

 sc.exe qc lanmanworkstation 

2] Метод редактора групповой политики

Стоит отметить, что этот метод не будет работать в Windows 10 Home или аналогичной редакции Windows 8 или Windows 7.

Откройте окно «Выполнить», введите gpedit.msc и нажмите Enter, чтобы открыть редактор локальной групповой политики. Перейдите по следующему пути:

Конфигурация компьютера> Настройки Windows

В разделе Реестр найдите элемент реестра со следующими свойствами:

Действие: обновление

Улей: HKEY_LOCAL_MACHINE

Путь к ключу: SYSTEM \ CurrentControl \ services \ mrxsmb10

Название значения. Начало

Тип значения: REG_DWORD

Данные о стоимости. 4

Если значение данных установлено в 4, SMB отключен.

Для детального чтения посетите microsoft.com.

Связанное чтение . Почему и как отключить SMB1 в Windows 10/8/7.

SMB or Server Message Block Protocols are used to connect your computer to an external server. Windows 10 ships with support of these protocols but they are disabled in the OOBE. Currently, Windows 11/10 supports SMBv1, SMBv2, and SMBv3 as well. Different servers depending upon their configuration require a different version of SMB to get connected to a computer. But in case you are using Windows 8.1 or Windows 7, you can check if you have it enabled too. That’s what we are going to do today.

First of all, if you have Windows 7, you should not be disabling SMB v2. This is due to the following reasons:

  • Request compounding – allows for sending multiple SMB 2 requests as a single network request
  • Larger reads and writes – better use of faster networks
  • Caching of folder and file properties – clients keep local copies of folders and files
  • Durable handles – allow for connection to transparently reconnect to the server if there is a temporary disconnection
  • Improved message signing – HMAC SHA-256 replaces MD5 as the hashing algorithm
  • Improved scalability for file sharing – the number of users, shares, and open files per server greatly increased
  • Support for symbolic links
  • Client oplock leasing model – limits the data transferred between the client and server, improving performance on high-latency networks and increasing SMB server scalability
  • Large MTU support – for full use of 10-gigabyte (GB) Ethernet
  • Improved energy efficiency – clients that have open files to a server can sleep.

Even if you are on Windows 8.1 or Windows 11/10, you should not be disabling SMB v3 or SMB v2 because, in addition to the above problems, you might face the following issues too which come with disabling SMB v3:

  • Transparent Failover – clients reconnect without interruption to cluster nodes during maintenance or failover
  • Scale Out – concurrent access to shared data on all file cluster nodes
  • Multichannel – aggregation of network bandwidth and fault tolerance if multiple paths are available between client and server
  • SMB Direct – adds RDMA networking support for very high performance, with low latency and low CPU utilization
  • Encryption – Provides end-to-end encryption and protects from eavesdropping on untrustworthy networks
  • Directory Leasing – Improves application response times in branch offices through caching
  • Performance Optimizations – optimizations for small random read/write I/O.

Methods to check what version of SMB is installed on the Server

We will be using the following methods to check what version of SMB is installed on your computer:

  1. The PowerShell Method.
  2. The Registry Editor Method.

1] The PowerShell Method

If you wish to check what version of SMB you are running, you can just type in the following in the cmdlet for PowerShell:

SMB v1 Windows 11/10 and Windows 8.1

Get-WindowsOptionalFeature –Online –FeatureName SMB1Protocol

SMB v2 Windows 11/10 and Windows 8.1

Get-SmbServerConfiguration | Select EnableSMB2Protocol

SMB v1 Windows 7

Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}

SMB v2 Windows 7

Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}

If it returns the value as True, it is enabled, else is disabled.

2] The Registry Editor Method

Type regedit in Start Search and hit Enter. Once Registry Editor opens, navigate to the following key-

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Now if you have the DWORDs named as SMB1 or SMB2, check their Value Data.

If it is set to 0, it is disabled.

And in any other case, it is enabled.

Methods to check what version of SMB is installed on Clients

We will be using the following methods to check what version of SMB is installed on your computer,

  1. The PowerShell Method.
  2. The Group Policy Editor Method.

1] The PowerShell Method

So, if you wish to check what version of SMB you are running, you can just type in the following in Command Prompt with Administrator Level privileges,

SMB v1 Windows 11/10 and Windows 8.1

sc.exe qc lanmanworkstation

SMB v2 Windows 11/10 and Windows 8.1

sc.exe qc lanmanworkstation
How to check SMB version on Windows

2] The Group Policy Editor Method

It is worth noting that this method will not work on Windows 11/10 Home or the equivalent edition of Windows 8 or Windows 7.

Open Run box, type gpedit.msc and hit Enter to open the Local Group Policy Editor. Navigate to the following path:

Computer Configuration > Windows Settings

Under Registry, look for Registry Item with the following Properties,

Action: Update

Hive: HKEY_LOCAL_MACHINE

Key Path: SYSTEM\CurrentControl\services\mrxsmb10

Value Name: Start

Value type: REG_DWORD

Value Data: 4

If the Value Data is set to 4, SMB is Disabled.

For a detailed read visit microsoft.com.

Related read: Why and how to disable SMB1 on Windows?.

My local machine is running Windows 7, which supports the latest released version of the SMB protocol (SMB 2.1). I also have a remote host, and I don’t know what operating system or SMB-support software is installed on that remote host; I only know that the remote host supports some version of the SMB protocol.

How can I find out, from the command prompt (or PowerShell) of my Windows 7 machine, what version of SMB is supported by that remote host?

Edit: although I mention Windows 7 above, I’m sure that this question is relevant to many system/network administrators or desktop support personnel, hence why I’m posting the question here instead of at superuser.com.

asked Apr 12, 2012 at 2:15

Kal's user avatar

KalKal

3931 gold badge3 silver badges8 bronze badges

1

On Windows 8 and higher, you can use the powerhsell command Get-SmbConnection to check which SMB version is used per connection.

answered Feb 7, 2017 at 9:01

jortiexx's user avatar

jortiexxjortiexx

3732 silver badges7 bronze badges

3

The easiest way is to install WireShark and capture the packets, it will decode them and should show you a protocol version. They have an SMBv2 entry on their wiki, so the latest version of WireShark should decode it int the packet capture.

answered Apr 12, 2012 at 2:47

rmalayter's user avatar

rmalayterrmalayter

3,76220 silver badges28 bronze badges

1

There are only two conceivable ways to determine a remote host’s SMB version.

The First is to banner grab using telnet. Even then, you’re not guaranteed that anything of use will come back. I can successfully connect to one of my SMB servers, but do not get any useful banner information.

The Second is to fingerprint the system over the network using a network security scanner. You’ll have to search for a good tool thought, because you’re still not guaranteed any success with determining what version of SMB is running. For example, I just used a quick scan with nmap on my network (that I know is running microsoft SMB on several endpoints) and I get no pertinent information as to what version of SMB it is running.

answered Apr 12, 2012 at 2:43

Wesley's user avatar

WesleyWesley

32.7k9 gold badges82 silver badges117 bronze badges

3

You must log in to answer this question.

Not the answer you’re looking for? Browse other questions tagged

.

Windows 10 – самая популярная операционная система для ПК в мире. Она используется миллионами пользователей во всем мире. Одна из важных функций этой ОС – это SMB (Server Message Block), который является протоколом обмена файлами. SMB может использоваться для доступа к удаленным ресурсам, обмена файлами между компьютерами, а также для резервного копирования данных. Есть несколько версий SMB, и в этой статье мы расскажем, как узнать версию SMB в Windows 10.

В новых версиях Windows 10 используется SMB 3.0, который является самым совершенным протоколом. Он обладает высокой скоростью передачи данных и защитой от различных видов атак. Однако, если у вас возникли проблемы со связью, доступом к ресурсам или скоростью передачи данных, то возможно проблема в версии SMB. В этом случае важно знать, какую версию SMB вы используете, чтобы легко определить причину проблемы и разрешить ее.

Чтобы узнать версию SMB в Windows 10, вам нужно выполнить несколько простых шагов. В этой статье мы подробно расскажем, как это сделать. Это поможет вам быстро и эффективно решить проблемы с доступом к удаленным ресурсам и обменом файлами в Windows 10.

Содержание

  1. Как узнать версию SMB в Windows 10?
  2. Зачем нужно знать версию SMB?
  3. Где найти информацию о версии SMB?
  4. Как узнать версию SMB через PowerShell?
  5. Как узнать версию SMB через реестр Windows?
  6. Какие версии SMB поддерживаются в Windows 10?
  7. Вопрос-ответ
  8. Как узнать версию SMB протокола в Windows 10?
  9. Как включить SMB1 протокол в Windows 10?
  10. Какие есть преимущества использования новой версии SMB протокола?
  11. Как проверить, подключен ли мой компьютер к сети через SMB протокол?
  12. Можно ли отключить новые версии SMB протокола в Windows 10?

Как узнать версию SMB в Windows 10?

Server Message Block (SMB) — это протокол сетевого уровня, используемый для обмена файлами, принтерами и другими сетевыми ресурсами в среде Windows. Протокол SMB используется для доступа к сетевым дискам и папкам, а также для удаленного управления компьютерами. Как узнать версию SMB в Windows 10?

Существует несколько способов узнать версию SMB в Windows 10. Один из наиболее простых способов — это воспользоваться командной строкой. Для этого нужно открыть командную строку с правами администратора (нажмите правой кнопкой мыши на значок «Пуск» и выберите «Командная строка (администратор)»).

  • Введите команду «sc.exe qc lanmanworkstation» и нажмите Enter
  • В выводе найдите строку «Конфигурация» и смотрите значение параметра «Type»
  • Если значение параметра «Type» равно «Win32», значит, в вашей Windows 10 установлена SMBv1
  • Если значение параметра «Type» равно «ShareProcess», значит, в вашей Windows 10 установлена SMBv2
  • Если значение параметра «Type» равно «Kernel», значит, в вашей Windows 10 установлена SMBv3

Если вам не нравится работать с командной строкой, то вы можете воспользоваться другими инструментами. Например, вы можете использовать PowerShell, чтобы узнать версию SMB в Windows 10.

Команда Версия SMB
Get-SmbServerConfiguration | Select -ExpandProperty EnableSMB1Protocol SMBv1
Get-SmbServerConfiguration | Select -ExpandProperty EnableSMB2Protocol SMBv2
Get-SmbServerConfiguration | Select -ExpandProperty EnableSMB3Protocol SMBv3

Узнав версию SMB в Windows 10, вы сможете принимать соответствующие меры по её настройке и безопасности.

Зачем нужно знать версию SMB?

Конечно, не обязательно знать версию протокола SMB при каждом использовании. Однако, понимание того, какая версия используется, может помочь в решении возможных проблем и обеспечении безопасности вашей сети.

Более новые версии SMB в Windows 10 могут принести улучшения в скорости и безопасности связи. Но если какое-то устройство не поддерживает более новые версии, то возможно придется вернуться к более старой версии.

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

Также, версия SMB может играть важную роль при взаимодействии между разными операционными системами. Если, например, ваш компьютер работает на Windows 10, а другой устройство на Mac OS, то знание версии SMB может помочь в установке правильных настроек для обмена файлами.

Где найти информацию о версии SMB?

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

Для получения информации об установленной версии SMB через настройки сетевого адаптера необходимо перейти в раздел «Состояние» и выбрать «Свойства». Затем нужно найти протокол «Клиент для сети Microsoft», который используется для работы по протоколу SMB. В поле «Версия» будет указана версия SMB, которую использует компьютер.

Также можно узнать версию SMB с помощью групповой политики. Для этого необходимо открыть «Меню Пуск» и ввести в строке поиска «gpedit.msc». Затем нужно перейти в раздел «Конфигурация компьютера» -> «Административные шаблоны» -> «Сеть» -> «SMB 1.0/CIFS клиент». Здесь можно проверить, активирована ли опция «Включить клиента для сети Microsoft Windows» и использование SMB 1.0.

Наконец, можно узнать версию SMB через командную строку. Для этого нужно открыть командную строку от имени администратора и ввести команду «sc query mrxsmb10». В ответ будет выдана информация о статусе службы и использование SMB 1.0.

Как узнать версию SMB через PowerShell?

PowerShell — мощный инструмент, который позволяет узнать версию SMB в Windows 10. Это может помочь в настройке сетевых настроек и обеспечении безопасности ПК.

Для того, чтобы узнать версию SMB через PowerShell, нужно:

  1. Открыть PowerShell через меню «Пуск».
  2. Ввести следующую команду: Get-SmbConnection
  3. Нажать клавишу «Enter» для выполнения команды.

После выполнения команды, в окне PowerShell будут выведены сведения о текущем состоянии SMB, включая версию и настройки, связанные с этим протоколом.

Таким образом, используя PowerShell, можно быстро и легко узнать версию SMB в Windows 10, чтобы обеспечить безопасность и настроить сетевые соединения на ПК.

Как узнать версию SMB через реестр Windows?

Версия SMB, используемая в операционной системе Windows 10, может быть установлена через реестр. Для этого необходимо следовать нескольким простым шагам:

  1. Нажмите клавиши «Win + R» на клавиатуре, чтобы вызвать окно «Выполнить».
  2. Введите «regedit» в поле «Открыть» и нажмите «ОК».
  3. Перейдите в следующую ветвь реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  4. Создайте новый параметр, нажав правой кнопкой мыши на значок «Параметры» и выбрав «Новый» -> «DWORD-значение».
  5. Введите «Smb2» в поле «Имя», а затем дважды щелкните значение, чтобы открыть его.
  6. В поле «Данные значения» укажите «1» для включения версии SMB 2.0 для Windows 10. Для версии SMB 3.0 установите значение «2».
  7. Нажмите «ОК» и закройте редактор реестра.

Теперь вы можете узнать версию SMB на своем компьютере с помощью команды «Get-SmbConnection» в PowerShell или через панель «Сеть» в проводнике Windows.

Какие версии SMB поддерживаются в Windows 10?

Windows 10 поддерживает несколько версий протокола SMB (Server Message Block), которые обеспечивают совместимость с различными версиями ОС и адаптированы к различным видам сетей. Эти версии включают:

  • SMB 1.0: старая версия, которая поддерживает максимальную оперативность в сетях, но уязвима к атакам и вредоносным программам.
  • SMB 2.0: новый протокол, который поставляется в Windows 10, обеспечивающий большую скорость и безопасность при обмене данными в сети. Он заменяет SMB 1.0 при работе с современными сетями.
  • SMB 2.1: новая версия SMB, которая была впервые введена в Windows 8.1. Он обеспечивает поддержку некоторых новых функций и дополнительную функциональность для взаимодействия с другими системами, работающими в сети.
  • SMB 3.0: самая последняя версия SMB, которая была введена в Windows 10, и которая обеспечивает максимальную безопасность и производительность.

Чтобы узнать, какая версия SMB используется в вашей сети, вы можете использовать команду PowerShell или заглянуть в настройки сетевой адаптер в Панели управления Windows.

Вопрос-ответ

Как узнать версию SMB протокола в Windows 10?

Чтобы узнать версию SMB протокола в Windows 10, нужно зайти в командную строку как администратор и ввести команду «sc.exe qc lanmanworkstation». В выводе информации найдите строку «DependOnService» и проверьте наличие «mrxsmb10» или «mrxsmb20». Если есть «mrxsmb10», то используется SMB1, если есть «mrxsmb20», то SMB2.

Как включить SMB1 протокол в Windows 10?

Стоит отметить, что SMB1 является устаревшим и уязвимым протоколом, поэтому Microsoft советует не использовать его. Однако, если вы все же хотите включить SMB1, то можно сделать это в панели управления -> Программы и компоненты -> Включение или отключение компонентов Windows -> Файловые службы -> SMB 1.0/CIFS File Sharing Support -> SMB 1.0/CIFS Client.

Какие есть преимущества использования новой версии SMB протокола?

Несмотря на то, что новые версии SMB протокола имеют больше возможностей и лучшую производительность, главное преимущество использования SMB2 и выше — это повышенная безопасность передачи данных. Новые версии протокола имеют более совершенные алгоритмы шифрования и поддержку функций безопасности, таких как подпись сообщений и фильтрацию трафика.

Как проверить, подключен ли мой компьютер к сети через SMB протокол?

Для того, чтобы узнать, используется ли текущее соединение сети SMB протокол или нет, нужно зайти в «Параметры» -> «Сеть и Интернет» -> «Центр сети и общего доступа» -> «Изменить параметры адаптера». Далее щелкните правой кнопкой мыши на соединении и выберите «Статус». В окне статуса найдите строку «Скорость и доступность», где будет указано, через какой протокол в данный момент подключен ваш компьютер.

Можно ли отключить новые версии SMB протокола в Windows 10?

Отключить новые версии SMB протокола (SMB2 и SMB3) в Windows 10 можно только через реестр системы. Для этого нужно зайти в редактор реестра и перейти по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters. Создайте новый параметр «SMB2» со значением «0», чтобы отключить SMB2 протокол, или «SMB3» со значением «0», чтобы отключить SMB3. Однако, стоит отметить, что такое действие может вызвать проблемы с совместимостью при работе с другими устройствами и сетевыми протоколами.

  • Как узнать версию samba windows
  • Как узнать баланс на windows
  • Как узнать все ip адреса в локальной сети windows
  • Как узнать версию видеодрайвера на windows 10
  • Как узнать видеокарту на windows 10 сколько памяти