首页/系统与基础设施/存储速查/SMB 排障常用工具与抓包分析
NAS 与文件共享50 条

SMB 排障常用工具与抓包分析

SMB 排查按「连接是否建立、身份是否通过、权限是否足够、性能是否达标」四步走,每步都有对应的现成工具。先确认连接视图,再谈权限与性能,可以省掉大量无效尝试。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌​‌‌​‌​‌‌​​​‌​​​‌​‌‌​‌​‌‌‌​‌​​​‌‌‌​​‌​​‌‌​‌‌‌‌​‌‌‌​‌​‌​‌‌​​​‌​​‌‌​‌‌​​​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌​‌​​​​‌‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌​‌‌​​​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

四个步骤与对应工具

第一步确认连接:能不能连到 445 端口、协商到什么版本与是否加密。第二步确认身份:用哪个账号登录、是否通过域认证。第三步确认权限:共享层与文件系统层分别放行了什么。第四步才看性能:吞吐、时延与重传。顺序不能颠倒,否则很容易在权限正确的情况下反复调整传输参数。

基本信息

适用平台Windows Server/客户端、Linux cifs 客户端与 Samba 服务端
Windows 命令Get-SmbConnection、Get-SmbSession、Get-SmbOpenFile、net use
Windows 日志事件查看器中的 SMB 客户端与服务端通道
Linux 客户端mount、smbclient、dmesg
Linux 服务端smbstatus、testparm

工具与用途

工具看什么平台
Get-SmbConnection版本、加密、签名、打开数Windows 客户端
Get-SmbSession在线会话与来源主机Windows 服务端
Get-SmbOpenFile被占用文件与持有者Windows 服务端
smbclient -L服务端共享列表与协议探测Linux 客户端
smbstatus会话与文件锁Samba 服务端
testparm配置语法与生效参数Samba 服务端
抓包分析协商过程、错误状态码两端通用

一次典型排查

一次典型排查
Test-NetConnection 10.0.0.20 -Port 445            # 第一步:445 是否可达
Get-SmbConnection | Select-Object ServerName,Dialect,Encrypted   # 第二步:协商结果
net use \\10.0.0.20\data /user:EXAMPLE\svc           # 第三步:换账号复现验证权限
Get-SmbOpenFile | Where-Object Path -like '*data*'  # 第四步:看句柄与占用情况

Linux 侧对照

Linux 侧对照
smbclient -L //10.0.0.20 -U svc            # 列出共享,同时验证协议可用性
smbclient //10.0.0.20/data -U svc -c 'ls'   # 进入共享并列目录
mount -t cifs -o vers=3.1.1,username=svc //10.0.0.20/data /mnt/data   # 挂载测试
dmesg | tail -n 30                          # cifs 的内核报错通常更具体
testparm -s /etc/samba/smb.conf             # 服务端确认配置已生效
抓包在加密连接上只能看到协商过程与状态码,看不到文件内容与文件名。所以分析前先用连接视图确认是否加密:报错状态码仍有价值,但对「哪个文件失败」这类问题无能为力,需要结合服务端日志。
把日志级别或调试开关调到最详细会显著增加磁盘写入与 CPU 开销,在繁忙文件服务器上可能直接影响业务。应限定时间窗与范围,排查结束后立刻恢复默认级别。

易错点

  • 一上来就抓包:先看连接视图与日志往往更快定位,抓包适合确认协商与状态码
  • 只看客户端或只看服务端:SMB 问题常需两端对照,单侧视图容易得出错误结论
  • 在加密连接上期待从抓包看到文件名与内容:先确认加密状态,再决定采集手段
  • 长时间开启详细调试日志:文件服务器性能随之下降,可能把排查变成新的故障
  • 忽略客户端缓存与会话残留:换账号测试前未断开旧会话,测试结果受缓存影响

数据来源与参考

  • 微软 Learn《SMB 故障排除与网络跟踪》官方文档
  • Wireshark 官方 SMB/CIFS 协议解析文档
  • Samba 官方文档《Samba 排错工具与日志》

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/storage/smb-troubleshooting-tools.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌​‌‌​‌​‌‌​​​‌​​​‌​‌‌​‌​‌‌‌​‌​​​‌‌‌​​‌​​‌‌​‌‌‌‌​‌‌‌​‌​‌​‌‌​​​‌​​‌‌​‌‌​​​‌‌​​‌​‌​‌‌‌​​‌‌​‌‌​‌​​​​‌‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​​‌‌‌​​‌​‌‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌​‌‌​​​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​