zoukankan      html  css  js  c++  java
  • winxp无法访问win10教育版共享资源的问题处理

    一、问题来源:
      dell5460笔记本上一个winxp系统虚拟机,访问一台lenovoT470笔记本win10教育版系统上的共享资源(使用命令行方式:net use s: \172.18.45.105d),总是提示“发生系统错误 64。指定的网络名不再可用。”,而dell5460笔记本的win10企业版访问其共享资源却正常。
     
    二、处理过程:
      在win10教育版和winxp系统中调了很多参数都无法解决问题,后来经仔细思考,认为应该与smb协议的版本相关。在win10教育版机上安装wireshark抓包工具,分别抓取从winxp和win10企业版机访问其共享目录的数据包,明显看到win10企业版的数据包主要是SMB2协议的数据包,而winxp的数据包只有SMB数据包。由此,基本确定猜想方向正确。检查“控制面板”——“程序和功能”——“启用或关闭Windows功能”中“SMB 1.0/CIFS文件共享支持”的“SMB 1.0/CIFS服务器”的确没有勾选,勾选后,仍然没有共享成功。分析,因为win10同时支持smb1,smb2和smb3,虽然smb1的支持已打开,但是不能保证机器就会以smb1相应访问请求。继续查找网上资料,发现在微软官网上有一篇关于侦测、启用和停用smb1、2、3的方法,按照这篇文章的指示,修改win10教育版的注册表,在“HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters”中新建“DWORD (32位)值”,命名为“SMB1”,其数值设为十六进制“1”,表示强制响应SMBv1协议。注册表修改后必须重启电脑使其生效。重启后,再从winxp访问win10教育版共享资源,成功!!!
     
    三、小结:
    1、按理说,在启用和关闭windows功能中勾选SMB 1.0/CIFS服务器后应该启用了对SMBv1的响应功能,但是,该win10教育版却没有对smbv1给予响应,只有通过修改注册表强制响应smbv1协议。这说明win10教育版应存在一定的bug或限制。配置smbv1强制响应后,再测win10企业版访问win10教育版的共享目录,不受影响,观察抓包,win10企业版的数据包的确是SMBv2协议包。这说明,win10教育版虽然强制了对smbv1的响应,对于收到的smbv2数据包也能正常响应。
    2、受修改注册表方法的启发,观察win10企业版的注册表与win10教育版的注册表情况,在“HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters”中发现win10企业版多两个DWORD值,如下图所示:
    AdjustedNullSessionPipes   REG_DWORD  0x00000003 (3)
    autodisconnect                    REG_DWORD  0x0000000f (15)
    试着在win10教育版机的注册表相同位置添加上述这两个值,重启电脑后再作winxp对win10教育版的共享访问测试,成功!这说明AdjustedNullSessionPipes这个项目就是调整如何接收SMB各个版本的数据包的关键选项。
    3、在win10教育版机器上,用管理员权限启动powershell,输入命令:Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol 或 Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol,可看到smbv1的协议情况,如下:
     
    PS C:Windowssystem32>  Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    FeatureName      : SMB1Protocol
    DisplayName      : SMB 1.0/CIFS 文件共享支持
    Description      : 支持 SMB 1.0/CIFS 文件共享协议和计算机浏览器协议。
    RestartRequired  : Possible
    State            : Enabled
    CustomProperties :
                ServerComponentDescription : 支持 SMB 1.0/CIFS 文件共享协议和计算机浏览器协议。
                ServerComponentDisplayName : SMB 1.0/CIFS 文件共享支持
                ServerComponentId : 487
                ServerComponentType : Feature
                ServerComponentUniqueName : FS-SMB1
                ServerComponentDeploysUpdateName : SMB1Protocol
  • 相关阅读:
    spring---aop(1)---AOP概念
    spring---transaction(6)---事务的配置
    spring---transaction(5)---事务的体系
    spring---transaction(4)---源代码分析(事务的状态TransactionStatus)
    spring---transaction(3)---源代码分析(事务的管理器PlatformTransactionManager)
    spring---transaction(2)---源代码分析(事务的定义TransactionDefinition)
    spring---transaction(1)---源代码分析(事务的拦截器TransactionInterceptor)
    mybatis源码分析(8)-----事务(mybatis管理、spring管理)
    mybatis源码分析(7)-----缓存Cache(一级缓存,二级缓存)
    mybatis源码分析(6)-----核心调度对象StatmentHandler
  • 原文地址:https://www.cnblogs.com/sfccl/p/11246902.html
Copyright © 2011-2022 走看看