5

给定一个 UNC 路径\\server\share,有没有办法使用 Win32 API 确定本地和远程计算机是使用 SMB 还是 SMB2 连接?

4

3 回答 3

10

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

于 2014-01-29T18:15:16.837 回答
0

或许您可以在 SMB2 规范中找到答案。

服务器消息块 (SMB) 协议版本 2 和 3 规范

应该有一种方法来检测版本......也许你可以尝试实现 SMB 协议的最小部分,只是为了询问服务器协议版本?

于 2014-01-23T16:20:50.113 回答
0

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

于 2014-01-28T18:49:55.390 回答