SMB/CIFS协议解析

Posted 浪子回头jin不换

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SMB/CIFS协议解析相关的知识,希望对你有一定的参考价值。

 

 

一、拷贝文件(远程-->本地)

1、SMB_COM_NT_CREATE_ANDX (0xa2)
 

      打开文件,获取文件名,获得读取文件的  总长度。
2、SMB_COM_READ          0x2e)    
       读取文件,获得读取文件内容。
3、SMB_COM_CLOSE     (0x04) 
     客户端关闭代表文件的TID与FID。

读取大文件的具体过程
 

 

读取文件是分块进行的,每块最大为64k byte,每块都是由read request+tcp data package+read response组成,如上图。
(1)没有包含文件数据的read request,
(2)第一个tcp data package是由SMB Header+文件数据组成,
(3)紧接着是多个只包含文件数据的tcp data package,
(4)最后是只包含文件数据的read response。
 

   二、拷贝文件(本地-->远程)

1、SMB_COM_NT_CREATE_ANDX (0xa2)
 

      创建文件,获取文件名。
2、SMB_COM_WRITE        0x2f)    
       写入文件,获得写入文件内容。
3、SMB_COM_CLOSE     (0x04) 
     客户端关闭代表文件的TID与FID。
 

 

 

写入文件是分块进行的,每块最大为64k byte,每块都是由tcp data package+write request+write response组成,如上图。
(1)第一个tcp data package是由SMB Header+文件数据组成,
(2)紧接着是多个只包含文件数据的tcp data package,
(3)然后是只包含文件数据的write request,
(4)最后是没有包含文件数据的write response。

 

from:http://blog.sina.com.cn/s/blog_705eb43a0100o5ah.html

以上是关于SMB/CIFS协议解析的主要内容,如果未能解决你的问题,请参考以下文章

DNS

k8s对接smb/cifs存储

k8s对接smb/cifs存储

SAMBA服务配置

在没有远程 powershell 或 WMI 的情况下获取远程 SMB/CIFS 共享的权限

Samba文件共享服务