【发布时间】:2014-02-07 00:14:11
【问题描述】:
给定一个像\\server\share这样的UNC路径,有没有办法使用Win32 API来确定本地和远程计算机是使用SMB还是SMB2连接?
【问题讨论】:
标签: windows winapi osx-mavericks smb cifs
给定一个像\\server\share这样的UNC路径,有没有办法使用Win32 API来确定本地和远程计算机是使用SMB还是SMB2连接?
【问题讨论】:
标签: windows winapi osx-mavericks smb cifs
在刻录付费支持事件后,Microsoft 的官方回答是 Windows 7 中的驱动程序不会公开此信息。在 Windows 8 上,可以使用 WMI 和 MSFT_SmbConnection 类或 PowerShell 的 Get-SmbConnection cmdlet .
【讨论】:
Get-SmbConnection cmdlet 需要我的管理 shell。工作
也许您可以在 SMB2 规范中找到答案。
Server Message Block (SMB) Protocol Versions 2 and 3 specification
应该有一种方法可以检测版本...也许您可以尝试实现 SMB 协议的最小部分,只是为了向服务器询问协议版本?
【讨论】:
最容易找到的方法之一是使用 wireshark(在 Windows 上)或 tcptrace/tcpdump 在 unix(运行 SMB 的地方)上进行网络跟踪。跟踪输出应该为您提供版本
【讨论】: