SMB協議概述


一、概述

  SMB(Server Message Block)是由微軟開發的一種軟件程序級的網絡傳輸協議,主要用來使得一個網絡上的計算機共享計文件、打印機、串行端口和通訊等資源。它也提供認證的進行進程間通信機能。經過Unix服務器廠商重新開發后,它可以用於連接Unix服務器和Windows客戶機,執行打印和文件共享等任務。

  SMB一開始的設計是在NetBIOS協議上運行的(而NetBIOS本身則運行在NetBEUI、IPX/SPX或TCP/IP協議上)。從Windows2000開始,微軟引入SMB Direct Over TCP,重新命名為 CIFS(Common Internet File System),並打算將它與NetBIOS相脫離,試圖使它成為Internet上計算機之間相互共享數據的一種標准。CIFS是公開或開放的SMB協議版本。

二、基於NBTSMB

  NetBIOS 支持兩種通信模式:會話(session)或數據報(datagram)。會話模式是指兩台計算機為“對話"建立一個連接,允許處理大量信息,並支持差錯監測和恢復功能。數據報模式面向“無連接"(信息獨立發送)操作,發送的信息較小,由應用程序提供差錯監測和恢復功能。此外數據報模式也支持將信息廣播到局域網中的每台計算機上。若SMB運行在NBT(NetBIOS Over TCP)協議上,而NBT提供三種不同的服務: 

  • 名字服務(NetBIOS Name Service)
  • 數據包服務(NetBIOS Datagram Service)
  • 會話服務(NetBIOS Session Service)

NetBIOS 名稱映射到IP地址上有三種方法:

  1. IP 廣播 - 當目標地址不在本地 cache 上時,廣播一個 包含目標計算機 NetBIOS 名稱的數據包。目標計算機返回其 IP 地址。
  2. lmhosts 文件 - 這是一個負責映射 IP 地址和 NetBIOS 計算機名稱的文件。
  3. NBNS - NetBIOS 命名服務器負責 將 NetBIOS 名稱映射到 IP 地址上。

1. 名字服務(NetBIOS Name Service,即NBNS)

  運行在137(UDP)端口,提供計算機的名字或IP地址查詢服務,類似於TCP/IP協議中的DNS,負責查找目標機器相應的節點地址(TCP/IP協議中為IP地址),並賦予一個NetBIOS名稱。可以使用兩種方法:

  第一種:位於同一工作組中的電腦之間利用廣播功能進行計算機名管理。電腦在啟動或者連接網絡時,會向同一工作組中的所有計算機質詢有沒有和自己相同的NetBIOS名稱。

  另一種:利用WINS(Windows因特網名稱服務)管理NetBIOS名稱。WINS服務器用於登記記錄計算機NetBIOS名稱和IP地址的對應關系,供局域網計算機查詢。WINS客戶端在系統起動時或連接網絡時會將自己的NetBIOS名稱與IP地址發送給WINS服務器。

  非法入侵者向目標主機的138端口發送一個連接請求,就能獲得目標主機的名稱、注冊用戶名,以及是否安裝主控控制器,IIS是否正在運行等。

2. 數據包服務(NetBIOS Datagram Service)

  運行在138(UDP)端口,提供NetBIOS瀏覽功能,顯示連接到於網絡的計算機設備列表。每台電腦在啟動時或連接網絡時通過138端口廣播自己的NetBIOS名稱,收到NetBIOS廣播的計算機會將該計算機追加到瀏覽列表中;關閉電腦時,計算機會通過138端口廣播,收到NetBIOS廣播的計算機會將該計算機從瀏覽列表中刪除;當計算機需要連接到於網絡的計算機設備列表,會廣播一個請求,收到請求主機會發送列表。非法入侵者通過與目標主機的138端口發送請求,就能獲得目標主機所處的局域網網絡名稱以及目標主機的計算機名稱。

3. 會話服務(NetBIOS Session Service)

  運行在139(TCP)端口,提供“NetBIOS Session Service”服務,基於SMB協議對外提供共享服務,包括Windows文件和打印機共享以及Unix中的Samba服務。

三、CIFS(SMB增強版)

  若SMB直接運行在TCP上,即CIFS協議,占用的TCP端口號是445。提供的功能與139端口完全相同。為保證向后兼容性,Windows 2000以后版本中基於NBT的SMB和CIFS同時並存。當Windows系統(允許NBT)來連接SMB服務器時,同時嘗試連接139和445端口。如果445端口有響應,那么發送RST包給139端口斷開連接,使用455端口提供SMB服務。當445端口無響應時,使用139端口提供SMB服務。


免責聲明!

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



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