1. 程式人生 > >NetBios, NetBios over TCP/IP, SMB 之間的關係

NetBios, NetBios over TCP/IP, SMB 之間的關係

首先提到的是NetBios,NetBios是Network Basic Input/Output System的縮寫,提供了一種允許區域網內不同電腦能夠通訊的功能。嚴格來說,NetBios是一套API,而並不是一個網路協議。

如今,我們使用的網路協議棧是TCP/IP協議棧,在Windows作業系統上,NetBios執行在NetBios over TCP/IP的協議上,NetBios over TCP/IP(簡稱NBT或者NetBT)是一個網路協議,允許以前使用NetBios API的應用程式能夠在現代的TCP/IP網路中。如下圖:

再說SMB,SMB是Server Message Block的縮寫,作為一個應用層的協議,主要提供一個網路中檔案共享、檔案列印和程序間通訊等功能,如今SMB的使用主要存在於Windows系統中。

SMB協議是執行在會話層之上的網路層協議,有兩種執行方式,第一種通過NetBios API,如下圖:

使用的是UDP的137和138埠以及TCP的137和139的埠。

第二種是直接執行在TCP和UDP協議之上,使用的是445埠,可以稱為"Direct hosting of SMB over TCP/IP"。

總結一下,Windows主機上檔案列印、檔案共享等都通過SMB協議來實現,而SMB通過兩種方式執行在139和445埠之上。我們可以通過手段使得SMB只通過第二種方式執行,而不通過NetBios API。本地連線屬性àInternet協議版本4屬性à高階àWINSà禁用TCP/IP上的NetBios.這樣的話SMB就只執行在445埠之上了。

禁用前:

禁用後:

 

轉載https://www.cnblogs.com/wangaohui/p/5116519.html