【问题标题】:Detect SMB vs SMB2 for network share检测 SMB 与 SMB2 的网络共享
【发布时间】:2014-02-07 00:14:11
【问题描述】:

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

【问题讨论】:

标签: windows winapi osx-mavericks smb cifs


【解决方案1】:

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

【讨论】:

  • Win10 PowerShell 的 Get-SmbConnection cmdlet 需要我的管理 shell。工作
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 我正在寻找我们可以在程序启动时为客户连接的任意服务器动态检测到的东西。使用数据包嗅探器或调试器将不起作用。
    猜你喜欢
    • 2015-02-20
    • 2011-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多