f假设想在两台Win10之间使用共享目录,中间出现各种幺蛾子而未能成功,对此进行一系列检查。不做过多科普,假设排障人士有拥相关基础知识。下列检查项在Win10服务端进行
(a) 检查445/TCP侦听中
用netstat或tcpview检查445/TCP侦听中。过去还涉及139/TCP,两台Win10之前就别管139/TCP了。
若未侦听445/TCP,一般都是Server服务未启动,转检查项(b)
(b) 检查Server服务启动中
在services.msc中检查Server服务启动中,也可以命令行检查、命令行启动
sc query lanmanserver
sc qc lanmanserver
net start srv
Server服务默认是启动的,但你可能做过安全加固,将之禁用。需要说明的是,禁用Server服务将阻断绝大多数SMB协议漏洞,已知的、未知的,都阻断了。若服务端没有提供共享目录的需求,请禁用Server服务,可以在services.msc中,也可以命令行
sc config lanmanserver start= disabled
sc stop lanmanserver
一般来说,Server服务启动后,开始侦听445/TCP。但从远程"nc -n <ip> 445"可能连不上,用Wireshark抓包,发现只有SYN包出去,没有SYN+ACK回来,转检查项(c)
(c) 检查Win10自带FW
wf.msc检查防火墙规则,确保C/S沿线IP层、TCP层可达。
有一种可能,高级用户在安全加固时清空过FW自带入站规则,除非显式增加过其他放行规则,否则445/TCP不可达。可以这样恢复FW自带的与共享目录相关的规则
入站规则
右键/新建规则
预定义
文件和打印机共享
注意调整"域/专用/公用",与当前网络匹配
为减少FW干挠,可以暂停FW
control
Windows Defender 防火墙
启用或关闭Windows Defender 防火墙
此处可以彻底关闭自带FW,不要长期这样干
还原默认值
此处可以彻底恢复被清空过的入站规则列表
服务端445/TCP已侦听,FW已关闭,客户端nc仍然连不上服务端445/TCP,抓包仍然只有SYN没有SYN+ACK,转检查项(d)
(d) 检查"高级共享设置"
control
网络和共享中心
更改高级共享设置
专用
来宾或公用 (假设这是当前配置)
文件和打印机共享
启用文件和打印机共享
高级用户在安全加固时可能选择"关闭"
所有网络
密码保护的共享
有密码保护的共享
高级用户在安全加固时可能"关闭文件和打印机共享",为使用共享目录,必用启用之。但是,可能出现一种状况,启用,回到上级配置,再次更改高级共享设置,发现仍然在关闭状态,刚才的启用操作被回滚了。若出现这种状况,确保a、b、c检查项已无干挠,再转检查项(e)
(e) 检查网络属性
control
网络和共享中心
当前网络属性
Microsoft网络的文件和打印共享
此处默认是选中的,但高级用户在安全加固时可能清空它。若其为空,即使445/TCP侦听中,实际并不接受任何入连接,不会返回SYN+ACK。若其为空,(d)检查项会出幺蛾子,会出现回滚。
勾中此处,客户端nc已能建立到服务端445/TCP的连接,抓包看到三次握手。
(f) 检查SMB协议相关安全限制
secpol.msc
安全设置
本地策略
安全选项
这里有一堆可能影响到共享目录使用的安全选项,尤其当C/S两侧不是同一类型OS时。但此处的安全选项过于专业化,不解析了,一般人应该碰不上需要调整它们的时候,保持默认状态就好。
(g) 开启共享目录
compmgmt.msc
计算机管理
系统工具
共享文件夹
共享
右键/新建共享
此处涉及共享权限设置、NTFS权限设置、用户权限设置,没法细讲,没碰上就算了,碰上就凭经验处理,属于会者不难的东西。
"net share"确认新建共享出现。
下列检查项在Win10客户端进行
(h) 检查SMB会话
net use \\<server ip>\ipc$ * /u:<servername>\<user>
根据提示输入<pass>,确保可以正常建立SMB会话
(i) 访问共享目录
start \\<server ip>\<share>
有可能不认之前IPC$上的SMB会话,弹出对话框提示输入user/pass,照做就是。
添加评论