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

时间: 2024-10-09 20:16:12

SMB/CIFS协议解析的相关文章

Samba 服务使用的端口和协议(是一组TCP UDP协议的组合,主要使用CIFS协议,有一个Java例子)

Samba服务所使用的端口和协议: 1)Port 137 (UDP) - NetBIOS 名字服务 : nmbd 2)Port 138 (UDP) - NetBIOS 数据报服务 3)Port 139 (TCP) - 文件和打印共享 : smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议) 4)Port 389 (TCP) - 用于 LDAP (Active Directory Mode) 5)Port 445 (TCP) - NetBIOS

openfiler作为文件服务器,windows、linux挂载NFS实现共享,以及windows、linux实现SMB/CIFS

登陆 首先登陆openfiler的web界面,配置的ip为192.168.1.111,所以浏览器地址栏输入https://192.168.1.111:446/ 用户名:openfiler 密码:password 登陆成功后进入status界面,这里显示了服务器的基本信息,系统状态,硬件信息,网络,内存以及挂载的磁盘情况. 还可以看出该web管理工具一共由七部分组成,分别为System.Volume.Quato.Share.Server.Accounts ? ? System 点击System进入

twemproxyRedis协议解析探索——剖析twemproxy代码正编

这篇文章会对twemproxyRedis协议解析代码部分进行一番简单的分析,同时给出twemproxy目前支持的所有Redis命令.在这篇文章开始前,我想大家去简单地理解一下有限状态机,当然不理解也是没有问题的,有限状态机仅仅能帮助我们更好地理解twemproxyRedis协议解析代码部分. redis 协议 这边我们首先需要简单介绍一下redis协议.参考自https://redis.io/topics/protocol redis协议即RESP 的数据类型有5类,简单字符串.错误.整数.大字

SOCKS5 协议解析

意图 SOCKS5 是一个代理协议,旨在为位于 Intranet 防火墙后的用户提供访问 Internet 的代理服务(Intranet,你没听错,这是个有一定年头的协议,其 RFC 提案的时间比 HTTP 1.0 还要早两个月). 代理 根据 HTTP 1.1 的定义,proxy 是: An intermediary program which acts as both a server and a client for the purpose of making requests on be

通用轻量级二进制格式协议解析器

在通信协议中,经常碰到使用私有协议的场景,报文内容是肉眼无法直接看明白的二进制格式.由于协议的私有性质,即使大名鼎鼎的 Wireshark,要解析其内容,也无能为力. 面对这种情况,开发人员通常有两个办法:第一,对照报文内容和协议规范进行人工分析(假设内容没有经过加密.压缩):第二,编程实现协议报文的解析(源于程序员的懒惰 ^_^). 很明显,第二条道路是主流.目前比较常见的实现方式是开发对应的 Wireshark 插件,包括 C.Lua 等插件.当然,插件完成后需要运行 Wireshark 才

协议解析Bug分析

协议解析Bug分析 源自邮件协议RPC(远程过程调用)处理的Request请求数据包的bug.        一.Bug描述 腾讯收购的Foxmail客户端可以作为outlook客户端的替代品与Exchange服务端进行交互完成邮件收发.而我们所要做的就是让邮件经过我们代理的优化处理. 这时候问题来了,Outlook客户端经由我们代理没有任何问题:但是换成Foxmail就会有错误弹窗,错误号:0x000006BE.但是如果不经过代理,Foxmail收发邮件一切正常. 很明显,是代理出了问题.  

视音频数据处理入门:UDP-RTP协议解析

===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理入门:PCM音频采样数据处理 视音频数据处理入门:H.264视频码流解析 视音频数据处理入门:AAC音频码流解析 视音频数据处理入门:FLV封装格式解析 视音频数据处理入门:UDP-RTP协议解析 ===================================================

2015最新WebQQ3.0协议解析与实现

2015最新WebQQ3.0协议解析与实现(一) 2015最新webqq密码加密分析 2015最新WebQQ3.0协议解析与实现(三) 2015最新WebQQ3.0协议解析与实现(四) webqq协议综合篇,这个不是最新的,但是内容很全

四大桌面云显示协议解析

Preface:四大桌面云显示协议解析 1,RDP 2,CitrixICP 3,PCoIP 4,spice