聲明
由于傳播、利用此文所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,雷神眾測以及文章作者不為此承擔任何責任。
雷神眾測擁有對此文章的修改和解釋權。如欲轉載或傳播此文章,必須保證此文章的完整性,包括版權聲明等全部內容。未經雷神眾測允許,不得任意修改或者增減此文章內容,不得以任何方式將其用于商業目的。
No.1 CIF協議簡介
CIFS (Common Internet File System)協議是一個文件共享協議,是由microsoft在SMB的基礎上發展,擴展到Internet上的協議。他和具體的OS無關,CIFS協議有三個版本:SMB、SMB2和SMB3,現在SMB2和SMB3用的比較普遍.它使程序可以訪問遠程Internet計算機上的文件并要求此計算機的服務。CIFS 使用客戶/服務器模式??蛻舫绦蛘埱筮h在服務器上的服務器程序為它提供服務。服務器獲得請求并返回響應。
No.2 環境搭建
在windows上創建CIFS協議非常簡單,只要在一個目錄上右鍵單擊,在彈出的菜單中選擇屬性-->共享,再配置權限即可。在其它電腦上只要輸入IP和共享名就可以訪問了。
No.3 CIFS工作方式分析
1.首先,通過抓包工具查看。CIFS協議是基于TCP協議的,所以必定是以三次握手開始,如下圖所示:

2.接下來的第一個CIFS操作時Negotiate(協商),具體協商內容見下圖:

3.客戶端把自己所支持的所有CIFS版本,比如SMB2和NT LM0.12等都發給服務器。
服務器從中挑出自己所支持的最高版本回復給客戶端。從下圖可知,服務器選擇是SMB2。

4.客戶端和服務器協商好CIFS版本之后,就會建立CIFS會話(Session Setup)。Session Setup的主要任務是身份驗證,常用的方式有Kerberos和NTLM(這里用到的是NTLM)??蛻舳税l起建立會話請求,服務器回復建立會話響應,如下圖所示:




5.Session Setup后,意味著客戶端就可以打開[\xxx.xxx.1.4d](file://xxx.xxx.1.4/d)了,接下來就可以進行文件讀寫了。通過客戶端在服務器上創建一個test.txt,此時的通信包如下圖所示:


通信圖

No.4
結語
后續我們會對關于協議存在的安全行問題進行深入探討