zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    hdu 刷题记录
    HDU step by step
    Codeforces Round #260 (Div. 2) B. Fedya and Maths
    Codeforces Round #260 (Div. 2) A. Laptops
    UVALive 6662 TheLastAnt
    UVALive 6661 Equal Sum Sets
    Codeforces Round #253 (Div. 2) A. Anton and Letters
    wikioi 3130 CYD刷题(背包)
    wikioi 1014 装箱问题(背包)
    [转]很特别的一个动态规划入门教程
  • 原文地址:https://www.cnblogs.com/zhangzl/p/6121180.html
Copyright © 2011-2022 走看看