由于我们在域上禁用了 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://,因为这似乎是最可靠的方法,但在找到这篇文章后这里我认为这是错误的。