工做組模式下Windows共享分析

工做組模式下 Windows局域網共享分析

一.工做組結構的網絡
    工做組網絡也被稱爲「對等式」網絡,由於每臺計算機的地位是平等的,他的資源與管理分散在各個計算機上。
    網絡中每臺Windows系統的計算機上都有本身的「安全帳戶管理器(SAM
,security access manager)數據庫」。若是用戶訪問每臺計算機的資源,那麼必須在每臺每臺計算機的SAM數據庫中建立該用戶的帳號,例如:A要訪問B,那麼B必須知道A機SAM中的帳戶和密碼才能正常訪問。


二.網上鄰居和NetBIOS工做原理部分(工做組模式)
 全部使用網上鄰居的機器在啓動時都會向網絡中宣告本身的存在,通常使用廣播方式 (也是爲何沒法經過路由器看到其它子網計算機的緣由),而在網絡中有一張瀏覽列表,記錄了全部在此登記的計算機,也就是在網上鄰居中看到的計算機,而當 計算機正常關機時,瀏覽列表就會從記錄中刪除此機器。那麼這張表在哪裏呢?它是被「瀏覽主控服務器」(service.msc中的Computer Browser服務)維護的,瀏覽主控服務器是工做組中的一臺最爲重要的計 算機,它負責維護本工做組中的瀏覽列表及指定其餘工做組的主控服務器列表,爲本工做組的其餘計算機和其餘來訪本工做組的計算機提供瀏覽服務,每一個工做組都 爲會每一個傳輸協議選擇一個瀏覽主控服務器,而咱們常常遇到的沒法瀏覽網絡的錯誤大可能是由於你所處的工做組沒有瀏覽主控服務器而形成的。你能夠在一個工做組 中用NBTSTAT -a computername 命令找出使用NBT協議的瀏覽主控服務器,它的標識是含有\\_MSBROWSE_ 名字段。缺省狀況下,windows工做組中的瀏覽主控服務器是該工做組中第一臺啓用文件及打印機共享功能的計算機,也容許手工將一臺win計算機配置爲瀏覽 主控服務器(方法會在後面講述網絡配置時具體介紹,但因爲瀏覽主控服務器須要維護動態瀏覽列表,性能會受影響),若是一個工做組中有多臺計算機配置了這個 選項,或是當前的瀏覽主控服務器關閉了系統,又沒有其餘計算機啓用主控設置時,就要進行主控瀏覽器的選舉。選舉其實過程很簡單,首先由一臺計算機發送一個 選舉臨界報文,該報文包含了來自發送計算機的信息(操做系統,版本及NET名等),選舉報文向網絡中廣播,工做組中的每一臺計算機都會用自身信息與選舉報 文進行優先級比較,主要是操做系統起主要做用,記得好像是WIN2K/XP>Win9X/Me,最後是那個自身條件最好的成爲新的瀏覽主控服務器。
整個網絡瀏覽的過程是,當一臺win98進入網絡時,若是它帶有服務器 服務(啓用了文件及打印機共享)會向網絡廣播宣告本身的存在,而瀏覽主控服務器會取得這個宣告並將它放入本身維護的瀏覽列表中;而沒有在相應協議上綁定文件及打印機共享的計算機則不會宣告,於是也就不會出如今網絡鄰居里了。當客戶計算機想得到須要的網絡資源列表時,首先會廣播發出瀏覽請求,瀏覽主控服務器 收到請求後,若是請求的是本組的瀏覽列表,則直接將客戶所需的資源列表發回;若是請求的是其它工做組的瀏覽列表,瀏覽主控服務器會根據自己 Browsing List中的記錄找到相應工做組的主控瀏覽器返回給用戶,用戶可從那裏獲得它想要的瀏覽列表,咱們也就在網上鄰居中看到計算機列表了。
    可是爲何在網上鄰居里有些機子訪問不了呢?事實上若是微軟的網上鄰居真能作到所 見即所得,相信抱怨它的人不會象如今這麼多,可經過前面對瀏覽服務的介紹,你們已經知道這是不可能的,由於瀏覽列表的得到不是經過訪問其中每一臺機子獲得 的,不少時候網絡中的計算機並不能正確更新瀏覽列表。當一臺計算機正常關機時,它會向網絡發出廣播宣告,使瀏覽主控服務器及時將它從瀏覽列表中刪除;而非 正常關機後,瀏覽列表裏仍會把該條目保持很長一段時間(NT下是45分鐘),這就是咱們仍能在網絡鄰居里看到它的緣由.而98的穩定性是衆所周知的 ----在還沒來得及關機前就已經崩潰了。

難道主瀏覽器就必須選舉產生,不能指定嗎?其實也不是,做爲管理員,只要在但願成爲主瀏覽器的機器(通常配置較高)上打開註冊表編輯器,在[HKEY_LOCAL_MACHINE
  \SYSTEM\CurrentControlSet\Services\Browser\Parameters]一項中,將註冊表鍵「IsDomainMaster」的值改成「True」便可。這樣,這臺電腦就會成爲一個主瀏覽器。
  這臺電腦啓動時,若是網絡中已經有了主瀏覽器,那麼它就會發起一個新的選舉,而在選舉中它經常會贏得選舉(難道是賄選?)。固然,若是其餘電腦也配置了這個選項,那麼它們之間的競爭就要看選舉的規則了。
Just Do it
讓某臺機器永遠不成爲瀏覽器
  若是爲了下降某臺機器的負載,但願它永遠不成爲瀏覽器,能夠在[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser
  \Parameters]一項中修改「MaintainServerList」的值爲「No」就能夠了,表明這臺電腦將不會成爲瀏覽提供者,同時Computer Browser服務也將沒法啓動,強行啓動就會出現圖1中的故障。


三.2000/xp/2003共享服務及端口
SMB(Server Message Block)協議在NT/2000中用來做文件共享,在NT中,SMB運行於
NBT(NetBIOS over TCP/IP)上,使用137,139(UDP),139(TCP)端口。在2000
中,SMB能夠直接運行在tcp/ip上,而沒有額外的NBT層,使用TCP 445端口。所以在
2000上應該比NT稍微變化多一些。
能夠在「網絡鏈接/屬性/TCPIP協議/屬性/高級/WINS中設置啓用或者禁用NBT
(NetBIOS over TCP/IP)。
當2000使用網絡共享的時候,就面臨着選擇139或者445端口了。下面的狀況肯定會
話使用的端口:
一、若是客戶端啓用了NBT,那麼鏈接的時候將同時訪問139和445端口,若是從445端口
獲得迴應,那麼客戶端將發送RST到139端口,終止這個端口的鏈接,接着就從445端口
進行SMB的會話了;若是沒有從445端口而是從139獲得迴應,那麼
就從139端口進行會話;若是沒有獲得任何迴應,那麼SMB會話失敗。
二、若是客戶端禁用了NBT,他就將只從445端口進行鏈接。固然若是服務器(開共享
端)沒有445端口進行SMB會話的話,那麼就會訪問失敗了,因此禁用445端口後,對訪
問NT機器的共享會失敗。
三、若是服務器端啓用NBT,那麼就同時監聽UDP 13七、138端口和TCP139,445。若是禁
用NBT,那麼就只監聽445端口了。
因此對於2000來講,共享問題就不只僅是139端口,445端口一樣可以完成
若是客戶端啓用了NBT,那麼鏈接的時候將同時訪問139和445端口,微軟並無讓139/TCP與445/TCP公平競爭。發起鏈接的SYN包在宏觀上是同時發出的,具體起來,有時是先向139/TCP發起鏈接請求,有時是先向445/TCP發起鏈接請求,有點隨機性。
37/UDP--NetBIOS名稱服務器,網絡基本輸入/輸出系統(NetBIOS)名稱服務器(NBNS)協議是TCP/IP上的NetBIOS(NetBT)協議族的一部分,它在基於NetBIOS名稱訪問的網絡上提供主機名和地址映射方法。
138/UDP--NetBIOS數據報,NetBIOS數據報是TCP/IP上的NetBIOS(NetBT)協議族的一部分,它用於網絡登陸和瀏覽。
139/TCP--NetBIOS會話服務,NetBIOS會話服務是TCP/IP上的NetBIOS(NetBT)協議族的一部分,它用於服務器消息塊(SMB)、文件共享和打印。請設置防火牆開啓相應的端口。通常只要在防火牆中容許文件夾和打印機共享服務就能夠了。 
SMB(Server Message Block)協議在NT/2000中用來做文件共享,在NT中,SMB運行於
NBT(NetBIOS over TCP/IP)上,使用137,139(UDP),139(TCP)端口。在2000
中,SMB能夠直接運行在tcp/ip上,而沒有額外的NBT層,使用TCP 445端口。所以在
2000上應該比NT稍微變化多一些。



四.關於空會話$(擴展閱讀)

NULL會話(空會話)使用端口也一樣遵循上面的規則。NULL會話是同服務器創建的
無信任支持的會話。一個會話包含用戶的認證信息,而NULL會話是沒有用戶的認證信
息,也就比如是一個匿名的同樣。

沒有認證就不可能爲系統創建安全通道,而創建安全通道也是雙重的,第一,就是
創建身份標誌,第二就是創建一個臨時會話密匙,雙方纔能用這個會話進行加密數據交
換(好比RPC和COM的認證等級是PKT_PRIVACY)。無論是通過NTLM仍是通過Kerberos認
證的票據,終究是爲會話建立一個包含用戶信息的令牌。(這段來自Joe Finamore)

根據WIN2000的訪問控制模型,對於空會話一樣須要提供一個令牌。可是空會話因爲
是沒有通過認證的會話,因此令牌中不包含用戶信息,所以,創建會話雙方沒有密匙的
交換,這也不能讓系統間發送加密信息。這並不表示空會話的令牌中不包含SID,對於
一個空會話,LSA提供的令牌的SID是S-1-5-7,這就是空會話創建的SID,用戶名是
ANONYMOUS LOGON。這個用戶名是能夠在用戶列表中看到的。可是是不能在SAM數據庫中
找到,屬於系統內置的賬號。
(關於這部分對NULL SESSION的分析,能夠參照:《NULL Sessions In
NT/2000http://rr.sans.org/win/null.php)

NULL會話幾乎成爲了微軟本身安置的後門,可是微軟爲何要來設置這樣一個「後
門」呢?我也一直在想這個問題,若是NULL會話沒有什麼重要的用途,那麼微軟也應該
不會來設置這樣一個東西。好不容易纔在微軟上找到這個:

當在多域環境中,要在多域中創建信任關係,首先須要找到域中的PDC來經過安全通
道的密碼驗證,使用空會話可以很是容易地找到PDC,還有就是關於一些系統服務的問
題。並且LMHOSTS的#Include就須要空會話的支持,能夠參考文章:
http://support.microsoft.com/defaul...b;EN-US;q121281
還http://support.microsoft.com/defaul...b;EN-US;q124184

其實創建一個空會話的條件也很是嚴格。首先要可以知足上面的,也就是打開TCP
139和TCP 445端口。咱們能夠從一次關閉這兩個端口的狀況中看得出來。服務器關閉
445和139端口,而後咱們來進行空會話的鏈接。首先,客戶端打算
鏈接的是445端口,而後再試圖鏈接139端口。固然最後仍是失敗了。
僅僅開放這兩個端口還不行,服務器還必須得打開IPC$共享。若是沒有IPC共享,即
使共享一個文件,有權限爲Anonymous Logon,也不能創建會話,即便權限設置爲徹底
控制,出現的鏈接錯誤依然是權限不夠。這和其餘賬號是不同的。若是要容許一個文
件夾共享可以相似IPC$(命名管道而非共享)可以使用空會話,那麼須要修改註冊表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
\中的:NullSessionShares,
添加新的共享名,這樣才能創建一個共享的空會話。這時,將不依賴IPC的存在了。
(即便這樣的空會話對於後面的突破也是一點沒可取之處的,由於沒有了IPC$命名管
道,RPC不可取了,這下知道IPC這個命名管道的具體實現了。呵呵)

雖然空會話創建的要求很嚴格,可是那都是默認創建的。既然是默認的,對於使用
WIN2K系統的服務器來講,就仍是有利用的價值。最明顯的就是空會話能夠很方便地連
接到其餘的域,枚舉用戶、機器等。這也就是掃描軟件進行探測的原理

二.Xp的兩種共享模式
運行—gpedit.msc—本地計算機配置—windows設置—安全設置—本地策略—安全選項
在右側窗口找到—網絡訪問:本地帳戶的安全和共享模式
1.僅來賓
2.經典
XP專業版中默認設置時僅來賓 而在2000、2003中默認是經典
 訪問模式工做過程

  當咱們將網上鄰居工做模式設置成「僅來賓——本地用戶將以來賓身份驗證」模式時任何共享用戶訪問本地共享資源時他用戶賬號都會被自動映射爲「Guest」此時Windows系統是不須要用戶輸入任何賬號和密碼這樣來就能大大提升共享資源訪問效率不過這須要共享資源所在主機系統事先將「Guest」賬號啓用起來;若是共享資源所在主機系統尚未啓用好「Guest」賬號時那麼系統會彈出身份驗證對話框在該對話框中咱們不但沒法自行更改訪問用戶名稱並且輸入任何密碼都無效

  若是網上鄰居功能工做在「經典——本地用戶以本身身份驗證」模式狀態下時那麼客戶端工做站系統首先以共享用戶登陸本地系統用戶賬號以及密碼來向共享資源所在主機系統提交身份驗證信息比方說共享用戶登陸客戶端工做站系統時使用賬號爲「aaa」密碼爲「bbb」此時該用戶若是經過網上鄰居功能訪問局域網中共享資源時客戶端工做站系統就會自動把賬號爲「aaa」、密碼爲「bbb」信息提交給共享資源所在主機系統進行身份驗證

  要是共享資源所在主機系統中剛好已經存在「aaa」用戶賬號而且對應該賬號訪問密碼也爲「bbb」時用戶就能順利地訪問到目標共享資源;若是共享主機中存在「aaa」用戶賬號但對應該用戶賬號訪問密碼不爲「bbb」時那麼該用戶在訪問目標共享資源過程當中系統會彈出身份驗證對話框此時該用戶只要輸入「aaa」賬號、「bbb」密碼就能進入下階段安全驗證環節了假若共享主機中不存在「aaa」賬號而且對應主機系統中「Guest」賬號也沒有被禁止使用那麼用戶訪問共享主機中共享資源時就會自動使用「Guest」賬號來進行身份驗證操做;要是共享主機中「Guest」賬號已經被禁用時那麼客戶端工做站系統仍然會彈出身份驗證對話框此時共享訪問用戶只有正確輸入共享主機中事先已經存在用戶名和密碼才能進入下個身份驗證環節

  在這裏須要提醒各位注意是查看「Guest」賬號是否處於起用狀態時應該從計算機管理窗口中「本地用戶和組」選項下面來查看而不該該從系統控制面板窗口中來查看系統控制面板窗口中「Guest」賬號啓用或禁止狀態只是介紹說明了容許或禁止「Guest」賬號從本地系統中進行登陸咱們能夠按照下面思路方法來快速查看「Guest」賬號實際啓用狀態只要先將共享主機系統切換到DOS命令行工做狀態的後在DOS命令行中輸入串命令「net user guest」單擊回車鍵後若是系統返回如圖1所示結果信息時那就介紹說明「Guest」賬號尚未被成功啓用

Windows網上鄰居互訪的基本條件:
1) 雙方計算機打開,且設置了網絡共享資源;
2) 雙方的計算機添加了 "Microsoft 網絡文件和打印共享" 服務;
3) 雙方都正確設置了網內IP地址,且必須在一個網段中;
4) 雙方的計算機中都關閉了防火牆,或者防火牆策略中沒有阻止網上鄰居訪問的策略。

咱們在這裏不考慮這些基本條件,而僅僅是作策略上的排錯

瞭解了上面的一些原理 相信你們對局域網共享故障的排錯應該不會有多少問題了

下面來看看一些實例


1.強力技巧



  (1)讓「網上鄰居」實現多點下載和斷點續傳



不少人喜歡直接經過訪問「網上鄰居」來共享文件,但使用「網上鄰居」則有諸多不便:既不能多點下載,又沒法斷點續傳。其實只要在本地機器架設FTP服務器,就可讓「網上鄰居」實現多點下載和斷點續傳。具體作法以下。

在本地電腦上利用SERV-U架設FTP服務器,而後設置站點和用戶權限,在這裏按照默認選項設置就好了。有關SERV-U架設的基本操做,不少文章已經介紹,這裏再也不贅述。

在SERV-U中添加虛擬目錄。在第一步「Physical path」的地方直接填入共享名,如\\192.168.0.1\xxx之類。後續步驟與添加本地目錄方法相同。

經過Flashget的站點資源探索器進入ftp://192.168.0.1(也就是下載文件所在計算機的IP地址)。進入相應目錄後,在右邊窗口文件列表中選擇要下載的文件或目錄,單擊右鍵,選擇「下載」。

因爲利用了Flashget的多點下載屬性,在局域網條件下能夠極大提升速度,網絡情況良好狀況下是原速度的若干倍,同時能夠完美支持斷點續傳。

(2)不將最新打開的共享文檔添加到「網上鄰居」中



Windows會在「網上鄰居」中自動記憶下最近打開過的共享文檔,若是不喜歡這項設置,能夠在[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies

\Explorer]下新建一個名爲「NoRecentDocsNetHood」的DWORD,而後將它賦值爲1便可。

(3)讓「鄰居」更容易找到本身



通常狀況下,一塊網卡只能配置一個IP地址,但實際上能夠爲它添加更多IP地址。這樣,你的電腦將會更頻繁地向網絡發送廣播信息,對於新安裝的操做系統,此方法能夠幫助別人儘快找到你。在本地網卡上依次點擊「屬性→TCP/IP屬性→高級」,而後按下「添加」按鈕便可輸入新的IP地址和子網掩碼。

小提示

雖然一塊網卡能夠配置多個IP地址,但在網絡鄰居中鏈接的IP地址只有一個—網卡所配置的第一個IP地址。 (4)刪除「網上鄰居」保存的密碼



訪問網上鄰居時提示輸入密碼,我爲了方便,點了保存密碼,但如今不想要這臺電腦保存這個密碼了,該如何清除呢?Windows XP的方法是依次進入「設置→控制面板→用戶賬戶」,而後點擊你的帳號,再點擊左上角的「管理個人網絡密碼」。

若是是Windows 9x用戶,只要刪除該用戶的PWL文件便可。

(5)加速「網上鄰居」的啓動速度



進入Windows XP的「網上鄰居」後,它會搜索本身的共享目錄、共享打印機以及和網絡相關的計劃任務,而後才顯示出來,這樣速度會慢不少。這些功能對咱們沒多大用的話,能夠將其刪除。在註冊表編輯器中找到[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\Explore\RemoteComputer\NameSpace],刪除其下的{2227A280-3AEA-1069-A2DE08002B30309D}(打印機)和{D6277990-4C6A-11CF87- 00AA0060F5BF}(計劃任務),重啓便可。

2.故障解決方案



故障現象1:一個小型網絡,電腦之間物理鏈接沒有任何問題,每臺電腦都沒有安裝任何防火牆軟件,但其中一臺電腦出現「網上鄰居」沒有任何信息,輸入「NET VIEW」命令結果是「清單是空的」,可是,網絡中的其餘電腦「網上鄰居」中卻有這臺電腦的信息,並能正常訪問。

緣由:因爲「Microsoft 網絡客戶端」協議沒有綁定,或Workstation服務不正常形成的(見圖3)。

解決方法:將「Microsoft網絡客戶端」協議勾選,這一點對於Windows 98系統一樣重要,只是設置的位置有所區別。

你知道嗎?



細心的讀者可能已經發現了,上面的例子是在沒有防火牆的條件下進行的,爲何要強調這一點呢?由於Browser服務是經過網絡廣播方式進行,不少防火牆會對廣播的幾個端口進行封堵(由於微軟的NetBIOS協議有漏洞,會隨機泄漏內存中的數據)。一樣,Windows XP中的ICF(Internet鏈接防火牆)也會有這種做用。

故障現象2:初次經過「網上鄰居」鏈接一臺基於Windows XP的電腦時,咱們都會遇到這個現象(見圖4)。

這時,無論在對話框中輸入任何密碼,都沒有做用,而此時也不能修改登陸使用的帳戶。

緣由:默認狀況下,處於工做組狀態的Windows XP Professional版本和Windows XP home版本電腦都會使用GUEST帳戶做爲網絡訪問的默認帳戶。而在默認狀況下WindowsXP中的GUEST帳戶爲禁用狀態,因此會出現這個現象。

解決方法:啓用GUEST帳戶,而後參照本刊2004年第9期《Windows XP和平共享之終極報告》介紹的方法處理便可。

小提示

Windows XP中有一個頗有意思的小「BUG」,就是在「用戶帳戶」中的來賓GUEST帳戶的啓用和停用狀態和實際的狀況可能不一致。

可是,經過本地用戶和組進行設置時,始終和實際狀況保持相同狀態。

故障現象3:有些電腦連入網絡後,發現「網上鄰居」沒法看到其餘用戶,而設置和物理鏈接都沒有異常。

緣由:在「個人電腦」上選擇「屬性→計算機名」,檢查「計算機描述」內容,看看是否過長。

解決方法:在「運行」窗口輸入「net config server /srvcomment:"text"」(不包括外側引號),回車後便可把「計算機描述」改成「text」。重啓電腦,檢查「網上鄰居」是否恢復正常。

故障現象4:「網上鄰居」中「鄰近的計算機」圖標丟失。

緣由:誤刪除形成。

解決方法:在Windows 2000中,若是不當心刪除了「網上鄰居」中的這個圖標,能夠經過修改註冊表的方法找回來,其實有一個更加簡單的方法:就是在「個人電腦→屬性→網絡標識→屬性」菜單中,將當前計算機加入另一個工做組,這樣,「鄰近的計算機」圖標就會重建,再把工做組改回來就能夠了。
Xp共享機制
被訪問電腦上符合如下條件
1.不使用簡單文件共享
2.本地安全策略設在「使用空白密碼的本地賬號容許進行控制檯登陸」已啓用
3.本地安全策略設在「網絡訪問:本地帳戶的共享和安全模式」爲經典
4.本地安全策略設在「拒絕從網絡訪問這臺計算機」中沒有guest



相關文章
相關標籤/搜索