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

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协议解析二的更多相关文章

  1. SMB/CIFS协议解析一概述

    一.SMB/CIFS协议的区别 在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协 议,Microsoft ...

  2. SMB/CIFS协议解析

    1.SMB协议与CIFS协议的区别     139端口是一种TCP端口,该端口在通过网上邻居访问局域网中的共享文件或共享打印机时就能发挥作用.445端口也是一种TCP端口,该端口在 Windows 2 ...

  3. CentOS7 下编译安装 Samba,什么是 SMB/CIFS 协议

    目录 一.关于 Samba 1. SMB 2. Samba 二.yum 安装 Samba 1. 安装 Samba 2. 查看版本 3. 查看配置文件 4. 启动服务 5. 本地客户端验证 6. Win ...

  4. SMB/CIFS协议简介

    1. 简介:(ServerMessage Block)服务消息块通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议.SMB从I ...

  5. ppp协议解析二

    转:http://blog.csdn.net/yangzheng_yz/article/details/11526747 PPP(Point to Point Protocol,点对点协议)协议是为在 ...

  6. smbclient - 类似FTP操作方式的访问SMB/CIFS服务器资源的客户端

    总览 SYNOPSIS smbclient {servicename} [password] [-b <buffer size>] [-d debuglevel] [-D Director ...

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

    Samba服务所使用的端口和协议: 1)Port 137 (UDP) - NetBIOS 名字服务 : nmbd 2)Port 138 (UDP) - NetBIOS 数据报服务 3)Port 139 ...

  8. HTTP协议(二)header标头说明

    HTTP协议(二):header标头说明 Header 解释 示例 Accept-Ranges 表明服务器是否支持指定范围请求及哪种类型的分段请求 Accept-Ranges: bytes Age 从 ...

  9. 协议解析Bug分析

    协议解析Bug分析 源自邮件协议RPC(远程过程调用)处理的Request请求数据包的bug.        一.Bug描写叙述 腾讯收购的Foxmailclient能够作为outlookclient ...

随机推荐

  1. MySQL 子查询 EXISTS 和 NOT EXISTS(转)

    MySQL EXISTS 和 NOT EXISTS 子查询 MySQL EXISTS 和 NOT EXISTS 子查询语法如下: SELECT ... FROM table WHERE EXISTS ...

  2. 115 Java Interview Questions and Answers – The ULTIMATE List--reference

    In this tutorial we will discuss about different types of questions that can be used in a Java inter ...

  3. 小白日记42:kali渗透测试之Web渗透-SQL盲注

    SQL盲注 [SQL注入介绍] SQL盲注:不显示数据库内建的报错信息[内建的报错信息帮助开发人员发现和修复问题],但由于报错信息中提供了关于系统的大量有用信息.当程序员隐藏了数据库内建报错信息,替换 ...

  4. Python 计算程序运行时间

    import time def start_sleep():    time.sleep(3) if __name__ == '__main__':    #The start time     st ...

  5. 1002 GTY's birthday gift

    GTY's birthday gift                                                                       Time Limit ...

  6. python(6)-执行shell命令

    可以执行shell命令的相关模块和函数有: os.system os.spawn* os.popen*          --废弃 popen2.*           --废弃 commands.* ...

  7. java.lang.IllegalArgumentException: Service Intent must be explicit: Intent

    在Activity中启动Service的时候报错: 服务意图必须是显性声明. 这是为了防止造成冲突(i.e. 有多个Service用同样的intent-filter的情况) 这是Android 5.0 ...

  8. Linux下安装配置Node及memcached

    这篇主要是记录Linux下安装Node及memcached遇到的问题及安装配置过程,方便日后查阅 Node安装及配置 [root@hostname ~]tar zxvf node-v0.12.4.ta ...

  9. LeetCode 42

    Trapping Rain Water Given n non-negative integers representing an elevation map where the width of e ...

  10. [未完成]关于POI的使用

    关于POI的使用关于POI的使用关于POI的使用关于POI的使用