Windows 文件资源管理器使用端口 80 (webdav) 而不是 445 (samba smb cifs) 作为 UNC 路径

Windows 文件资源管理器使用端口 80 (webdav) 而不是 445 (samba smb cifs) 作为 UNC 路径

我有一台 Windows 7 Ultimate x86_64 机器,无法访问网络 samba 服务器。我启动“运行”对话框,然后输入,\\192.168.x.x这样我就可以绕过 DNS 和 NetBIOS 名称解析以及广播发现,直接转到服务器 IP 地址。我运行了 wireshark,发现客户端正在尝试通过端口 80 而不是 445 连接到服务器。(这当然会失败,因为服务器没有在 80 上监听;服务器只运行 samba 和 nmbd 等,因此只有端口 445 和 137-139 适用)。

我知道这个问题我不认为这是一个重复的问题,因为 (a) 该问题已经存在 2 年多了,是在 Win XP 上,并且 (b) 在这种情况下,那里的答案都无济于事,尽管另一个问题已被标记为已回答。

错误信息是: Windows Cannot Access \\192.168.x.x当我点击“查看详细信息”时,它显示Error Code 0x800704cf The network location cannot be reached

我确认了Microsoft 网络客户端存在并启用。我甚至删除了它(被迫重新启动)并重新安装它。没有效果。

我禁用了 IPv6,但没有效果。

我确认了网页客户端服务未运行。(它设置为手动,并且未运行)。

我确认了TCP/IP NetBIOS 帮助程序服务正在运行。(它设置为自动,并且正在运行。)

当然,我已经重新启动并重试了。(几次,多种方法)。

该问题似乎存在于旧的补丁级别,并且在应用所有 Windows 更新后仍然存在。

为什么 Windows 会尝试使用端口 80(webdav)而不是端口 445(samba/smb/cifs)将文件资源管理器连接到 UNC 路径?

net view 192.168.x.x在受影响的客户端上抛出一条错误消息:

C:\Windows\system32>net view 192.168.x.x
System error 53 has occurred.

The network path was not found.


C:\Windows\system32>ping 192.168.x.x

Pinging 192.168.x.x with 32 bytes of data:
Reply from 192.168.x.x: bytes=32 time<1ms TTL=64
Reply from 192.168.x.x: bytes=32 time<1ms TTL=64

但在另一个客户端上运行良好:

C:\Users\eharvey>net view 192.168.x.x
Shared resources at 192.168.x.x

netfiles server (Samba, Ubuntu)

Share name  Type  Used as  Comment

-------------------------------------------------------------------------------
myshare     Disk           My Company data storage
The command completed successfully.

答案1

如果数据包捕获显示没有超过 445 的任何尝试,则表明客户端首先尝试 WebDav。这可能是因为 WebDav 在网络提供商顺序中较高。要检查:

  • 打开网络连接
  • 先进的菜单
  • 高级设置...
    网络连接 → 高级 → 高级设置...
  • 供应商订单标签
  • 确保微软视窗网络高于Web 客户端网络
    “高级设置”窗口。“提供商订单”选项卡

答案2

我知道您已尝试重新安装 Microsoft 网络客户端,但如果不需要,请在每个客户端上执行以下操作:

  1. 打开“网络连接”。

  2. 在您希望连接到 samba 共享的每个适配器上:

  3. 右键单击并选择“属性”,取消勾选“Microsoft 网络客户端”

  4. 导航至:网络连接 > 高级 > 高级设置 > 适配器和绑定

  5. 确认“Microsoft 网络客户端”现在位于底部且未选中

  6. 现在转到提供商订单选项卡并确保“Web 客户端网络”位于网络提供商列表的底部。

  7. 重新启动计算机并尝试再次连接主机。

您也可以尝试阻止端口 80 或将其重定向至端口 445。

答案3

您应该检查“TCP/IP NetBIOS Helper”服务。当此服务崩溃且 Web Client 存在时,它将尝试访问 WebDAV 上的 UNC 路径(tcp 端口 80)。

重新启动“TCP/IP NetBIOS Helper”服务,然后 tcp 端口 445 将用于 UNC 路径。

同样的问题Microsoft TechNet:连接到端口 80 上的文件共享?

答案4

我确信我也遇到过和你一样的问题。我很幸运,因为这个问题已经解决了。但我不太确定哪个步骤解决了这个问题。(因为我的电脑重新启动后它就解决了)

*注意:如果没有这些部分,重新​​启动将无法解决任何问题,以下是我所做的:- 删除全部ip6 隧道适配器(使用设备管理器逐个卸载) - 使用 regedit 禁用 ip6 - 启用 TCP/IP 上的 NetBIOS - 卸载 - 安装“Microsoft 网络客户端” - 在网络适配器属性中禁用 ip6 - 关闭防火墙 + AV(客户端和服务器) - 删除所有网络接口共享(如果已配置) - 删除 Microsoft 网桥(如果有) - 禁用所有网络接口(用于连接的接口除外) - 重新启动

我希望我没有错过任何东西,抱歉我没有在那里记录我的工作。如果我的解决方案有效,需要您的反馈,谢谢。

相关内容