El Capitan 仅在某些服务器上尝试 SMBv1

El Capitan 仅在某些服务器上尝试 SMBv1

由于我们在域上禁用了 SMBv1,因此我无法连接到某些主机上的 Windows SMB 共享。在使用 Wireshark 进行一些研究后,似乎我的 Mac 仅向某些主机提供 SMBv1 作为选项:

Internet Protocol Version 4, Src: 10.10.10.75 (10.10.10.75), Dst: 10.10.11.201 (10.10.11.201)
Transmission Control Protocol, Src Port: 62280, Dst Port: 445, Seq: 1, Ack: 1, Len: 51
SMB (Server Message Block Protocol)
    SMB Header
    Negotiate Protocol Request (0x72)
        Word Count (WCT): 0
        Byte Count (BCC): 12
        Requested Dialects
            Dialect: NT LM 0.12
                Buffer Format: Dialect (2)
                Name: NT LM 0.12

这与我将 SMB 连接到另一台主机时看到的行为不同(在协商 SMBv2 后仍在工作):

Internet Protocol Version 4, Src: 10.10.10.75 (10.10.10.75), Dst: 10.10.11.75 (10.10.11.75)
Transmission Control Protocol, Src Port: 62914, Dst Port: 445, Seq: 1, Ack: 1, Len: 73
SMB (Server Message Block Protocol)
    SMB Header
    Negotiate Protocol Request (0x72)
        Word Count (WCT): 0
        Byte Count (BCC): 34
        Requested Dialects
            Dialect: NT LM 0.12
            Dialect: SMB 2.002
            Dialect: SMB 2.???

这些主机位于同一个域中,我使用相同的方法连接到它们(Finder、cmd-K、cifs://./c$)。我发现的所有内容都表明 El Capitan 在所有情况下都应该使用 SMBv3 — 有人知道为什么它只在这里尝试 SMBv1 吗?

答案1

好吧,经过进一步调查,看起来将 cifs:// 更改为 smb:// 会产生预期的效果 — 请求 SMBv2 并且挂载成功。我过去一直使用 cifs://,因为这似乎是最可靠的方法,但在找到这篇文章后这里我认为这是错误的。

相关内容