给定像\\server\share
这样的UNC路径,是否可以使用Win32 API确定本地和远程计算机是使用SMB还是SMB2进行连接?
答案 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进行网络跟踪。跟踪输出应该为您提供版本