SMB协议解析:从历史到CIFS的发展与关键命令

需积分: 50 9 下载量 154 浏览量 更新于2024-09-11 收藏 44KB DOCX 举报
SMB(Server Message Block)协议,由微软和英特尔在1987年联合开发,是Microsoft网络的主要通讯协议,主要用于文件共享。它位于会话层、表示层及少量应用层,基于NetBIOS API提供服务,常用的端口为139和445。 SMB最初设计用于LANManager和Windows NT服务器,用户端的Windows系统内置了该协议支持。随着互联网的发展,微软将SMB扩展并改名为CIFS(Common Internet File System),旨在将其转变为适用于互联网的标准文件共享协议,使其与NetBIOS分离,以便更好地适应网络环境。 SMB协议包头包含几个关键域:TID(Transaction ID)用于标识资源,PID(Process ID)标识进程,Uid(User ID)确认用户身份,以及Mid(Multiple IDs)用于跟踪并发请求。这些ID在处理文件操作时起到至关重要的作用,确保数据的一致性和安全性。 SMB命令集包括基本的核心功能,如SMB_COM_DELETE_DIRECTORY(删除空目录)、SMB_COM_CLOSE(关闭文件)、SMB_COM_FLUSH(刷新文件内容)、SMB_COM_DELETE(删除文件,支持通配符)、SMB_COM_RENAME(重命名文件或目录)以及SMB_COM_CHECK_DIRECTORY(检查路径是否存在)。此外,还有SMB_COM_LOCKING_ANDX,涉及文件锁定控制,用于实现并发访问时的数据同步。 值得注意的是,尽管SMB/CIFS在局域网和早期互联网环境中广泛应用,但随着技术的发展,现代网络环境可能更倾向于使用更安全、高效的新一代文件共享协议,如SMBv3或更高级别的协议。然而,了解SMB协议的历史和核心功能对于理解许多旧系统和遗留应用仍然至关重要。