检测SMB与SMB2的网络共享

时间:2014-01-17 15:33:53

标签: windows winapi osx-mavericks smb cifs

给定像\\server\share这样的UNC路径,是否可以使用Win32 API确定本地和远程计算机是使用SMB还是SMB2进行连接?

3 个答案:

答案 0 :(得分:10)

在烧毁付费支持事件后,Microsoft的官方回答是Windows 7中的驱动程序未公开此信息。在Windows 8上,可以使用WMI和MSFT_SmbConnection类或PowerShell {{{ 1}} cmdlet。

答案 1 :(得分:0)

也许你可以在SMB2规范中找到答案。

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

应该有办法检测版本......也许您可以尝试实现SMB协议的最小部分,只是向服务器询问协议版本?

答案 2 :(得分:0)

最容易找到的方法之一是使用wireshark(在Windows上)或在unix(运行SMB的地方)上使用tcptrace / tcpdump进行网络跟踪。跟踪输出应该为您提供版本