2014-01-17 4 views
3

Учитывая путь UNC, например \\server\share, можно ли каким-либо образом определить, используя API Win32, подключаться ли локальные и удаленные компьютеры с помощью SMB или SMB2?Обнаружение SMB и SMB2 для общего сетевого ресурса

+0

Проверить это http://stackoverflow.com/questions/10800616/determine-protocol-of-a-network-drive – Sameer

ответ

8

После записи платной поддержки официальный ответ от Microsoft заключается в том, что эта информация не отображается драйвером в Windows 7. В Windows 8 она доступна с использованием WMI и класса MSFT_SmbConnection , или командлет PowerShell Get-SmbConnection.

0

Возможно, вы можете найти ответ в спецификации SMB2.

Server Message Block (SMB) Protocol Versions 2 and 3 specification

Там должен быть способ обнаружить версию ... Может быть, вы можете попытаться реализовать минимальную часть протокола SMB просто задать серверу версию протокола?

0

Один из самых простых способов найти - это использовать трассировку сети с помощью wirehark (на окнах) или tcptrace/tcpdump на unix (где работает SMB). Выходной сигнал трассировки должен дать вам версию

+0

Я ищу что-то, что мы можем обнаружить динамически при запуске программы для любых серверов к которым подключаются наши клиенты. Использование пакетного сниффера или отладчика не будет работать. –

 Смежные вопросы

  • Нет связанных вопросов^_^