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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM