SMB 可以在其不同版本中进行加密,并且可以按照说明进行激活https://docs.microsoft.com/en-us/windows-server/storage/file-server/smb-security. 在服务器可以使用 powershell 测试加密,如下所示https://www.rootusers.com/enable-smb-encryption-on-smb-shares/。
但是我怎样才能在 Windows(和 Linux)计算机上测试一个(或多个) SMB 连接客户如果真的使用了加密?
答案1
对于 Windows 10 客户端,请使用Get-SmbConnection
具有管理员权限的 PowerShell 使用。它具有默认表格格式中未显示的额外字段,但可以通过名称请求:
Get-SmbConnection | ft ServerName,ShareName,Encrypted
对于使用内核的 Linux 客户端韋斯模块(内核文件系统挂载),我思考这应该与其他信息一起在文件中提供/proc/fs/cifs/DebugData
,但它实际上不存在或至少不明显。请参阅客户端段落如下。
对于使用用户空间的 Linux 客户端客户端库(包括 GNOME 的 smb:// 路径),没有简单的方法可以知道。我会使用 Wireshark 运行数据包捕获,看看读取文件时会发生什么——纯 SMB 数据包和加密 SMB 数据包之间的差异很容易看出。