- NetBIOS是網路上設備命名和發現的關鍵。 Windows但如今它已經過時,並且存在安全隱患。
- DNS 和 mDNS 實現了現代名稱解析:DNS 用於大型網絡,mDNS 用於無伺服器本地環境。
- 停用客戶端和伺服器(包括 DHCP 伺服器)上的 NetBIOS 可以減少攻擊面,尤其是在公共網路和企業中。
- 規劃適當的 NetBIOS 和 DNS 名稱對於避免衝突、Active Directory 問題和解析失敗至關重要。
NetBIOS、DNS 或 mDNS 等術語仍出現在許多家庭和企業網路中。有時人們會把它們混淆,好像它們是同一回事,但實際上它們的用途卻截然不同。如果你使用Windows系統多年,一定看過各種電腦名稱。 共用資料夾或印表機 在完全不了解其背後實現這一目標的協議的情況下。
事實上,幾十年來,NetBIOS 一直是 Windows 網路上識別電腦的標準方法。然而,這種方法如今顯然已經過時,會帶來安全風險,現在有更強大的現代替代方案,例如 DNS 和 mDNS。了解每種方案的工作原理、適用場景以及何時停用它們,是避免網路出現各種問題和安全隱患的關鍵。
什麼是NetBIOS?它的實際運作原理是什麼?
NetBIOS(網路基本輸入/輸出系統)本身並非傳輸協定。但介面 程序設計 以及一系列旨在讓應用程式通過網路通訊而無需關心底層細節的服務。它起源於 20 世紀 80 年代,遠早於 TCP/IP 在 Windows 環境中標準化。
在 OSI 模型中,NetBIOS 位於第 5 層(會話層)。因此,它需要依賴其他協定(例如 TCP 或 UDP)在有線區域網路和無線網路中傳輸資料。它本身並不定義資料傳輸格式;相反,它為應用程式提供會話建立、訊息發送和錯誤處理等功能。
從使用者的角度來看,NetBIOS 的用途非常簡單,例如在網路上「查看電腦名稱」。在啟用 NetBIOS 的網路中,每台電腦都有一個唯一的名稱,當您在舊版的 Windows 中瀏覽共用資源或工作群組時,就會顯示該名稱。
儘管如今它被認為是一項處於生命週期末期的技術。為了向後相容,許多 Windows 系統預設仍啟用此功能。這意味著即使您很少使用它,該功能仍然存在,可見,並且可能存在安全漏洞。
NetBIOS 提供三種主要服務,每種服務都在特定的連接埠上運作。 並在網路通訊中扮演著非常明確的角色:
- 會話服務它是一種面向連線的服務,可以以客戶端/伺服器或點對點模式運作。它基於 TCP 協議,使用 139 連接埠。它負責管理兩台電腦之間資料交換會話的建立、維護和關閉。
- 數據報服務它提供了一種無連接機制,使用通常透過廣播發送的資料封包類型訊息。它透過 UDP 協定在 138 連接埠上運行,並負責舊版 Windows 網路上的大部分經典廣播流量。
- 命名服務此服務負責註冊 NetBIOS 名稱並將其解析為 IP 位址。當透過 TCP/IP 協定運作時,它使用 UDP 連接埠 137。此服務可以依賴本機文件,例如: LMHOSTS 或在伺服器上 WINS(Windows Internet 名稱服務)它充當動態名稱資料庫。

繼續使用NetBIOS的優缺點
儘管 NetBIOS 已經過時,但它仍然有一些優勢,這也是它仍然活躍的原因。 在許多 Windows 電腦上,尤其是在新舊系統共存的環境中。
NetBIOS 的優點很多,我們可以重點介紹以下幾點: 多年來,以下幾個實用方面讓管理員和使用者的工作更加輕鬆:
- 無需複雜配置即可自動解析名稱在小型網路中,NetBIOS 允許電腦透過名稱相互發現,而無需 DNS 伺服器或複雜的配置。對於一般使用者來說,這非常方便:只要打開電腦,就能看到另一台電腦上的共用資料夾。
- 與經典 Windows 的深度集成NetBIOS 在所有舊版 Windows 工作階段中均已啟用,並且是許多網路應用程式的基礎,尤其是在 Windows NT、2000 和 XP 時代。這就是為什麼一些較舊的軟體仍然需要它的原因。
- 面向開發人員的抽象透過提供標準接口,程式設計師不必重新發明路由錯誤或底層尋址問題的恢復程序。
然而,目前缺點遠多於優點。尤其從安全性和可擴展性角度來看:
- 它沒有為其傳輸定義標準資料格式。與追求多種不同網路協定棧和系統之間互通性的現代架構相比,這使得它缺乏靈活性。
- 在大型網路上擴展性較差隨著設備數量的增長,廣播和無連接資料報的大量使用往往會使網路過載,產生不必要的流量,並使管理變得困難。
- 這是一個被認為不安全且過時的協議。它存在歷史遺留漏洞,缺乏現代加固控制措施,並且通常會增加一個額外的攻擊面,許多管理員更傾向於透過停用它來消除這個攻擊面。
停用 NetBIOS 對效能和安全性的影響
在現代 Windows 電腦上關閉 NetBIOS 通常對安全性的影響大於對效能的影響。而且幾乎總是朝著更好的方向發展。但重要的是要了解在過程中可能會出現哪些問題。
從性能角度來看,這種變化通常並不劇烈。NetBIOS 用於解析本機網路上的名稱,並允許某些裝置交換資訊。目前版本的 Windows 主要依賴 DNS 和純 TCP/IP,因此 NetBIOS 的作用相對次要。
禁用它可以減少攻擊面。 例如拒絕服務 (DoS) 攻擊或列舉資源和裝置的嘗試。攻擊者可以利用開放的 NetBIOS 服務來淹沒網路、取得內部 IP 位址和名稱,甚至嘗試存取配置錯誤的共用資料夾。
最大的風險在於與舊版應用程式的相容性。管理課程 數據庫 一些老舊或過時的工具可能依賴基於 NetBIOS 的 SMB 1.0 傳輸協定。如果突然停用 NetBIOS,這些應用程式可能會運行緩慢、間歇性崩潰,甚至完全停止工作。
網路共享功能也可能受到影響。 如 打印機仍然使用 NetBIOS 協定來發布或解析名稱的映射磁碟機或共用資源。如果這些資源沒有正確地在 DNS 中註冊或使用更現代的協議,則可能無法存取。
建議先進行小規模盤點或初步分析。檢查哪些應用程式和裝置仍然使用 NetBIOS(例如, 捕捉流量 使用 Wireshark 等工具)並逐案評估其運行是否可以遷移到更現代的 SMB、DNS 或 mDNS,然後再按下「紅色按鈕」並將其在整個網路中關閉。
NetBIOS 在公共網路和控制不善的環境中所存在的風險
在公共網路(咖啡館 WiFi、機場、飯店等)上啟用 NetBIOS 是一個糟糕的主意。因為它會洩露你電腦上的數據,並可能在你不知情的情況下助長攻擊。
主要風險之一是未經授權存取共享資源。如果你的筆記型電腦 共用資料夾或印表機 透過與 NetBIOS 相關的協議,如果權限設定不夠嚴格,則同一網路上的網路犯罪分子可能會嘗試定位並存取這些資源。
另一個危險是網路間諜活動或偵察資訊。NetBIOS 可以洩漏電腦名稱、可能的工作群組、有時甚至是作業系統及其 IP 位址。這些資訊看似無害,卻能幫助攻擊者繪製網路拓樸圖並選擇攻擊目標。
NetBIOS 也已被利用來傳播病毒。 惡意軟件蠕蟲、勒索軟體和其他類型的惡意程式碼利用了其漏洞和枚舉電腦的便利性,在隔離不完善的內部網路中從一個裝置跳到另一個裝置。
因此,在您無法控制的網路中,建議盡可能減少遺留服務的使用。如果您經常連接公共 WiFi,停用 NetBIOS、關閉不必要的共享資源以及始終啟用防火牆幾乎是必須的。
NetBIOS 名稱和 DNS 名稱解析
最容易造成混淆的一點是 NetBIOS 名稱和 DNS 名稱之間的差異。雖然它們有時會重合,但它們並不相同,解決方式也不一樣。
NetBIOS 團隊名稱通常是單獨的標籤一個簡單的字串,用於識別 NetBIOS 範圍內的主機。例如,“SERVER01”或“LAPTOP-MARIA”。此名稱透過 NetBIOS 名稱服務註冊,並透過廣播或 WINS 進行通告。
另一方面,DNS 處理的是由多個部分組成的網域。主機名稱和網域名稱共同構成完全限定網域名稱 (FQDN)。例如,「server01.company.local」或「fileserver.corp.example.com」。這種層級結構的設計初衷是為了適應大型網路和網際網路。
許多產品(例如 SunLink Server 和類似環境)都結合了這兩種方式。該軟體會取得裝置的 NetBIOS 名稱並將其與 DNS 網域連接起來產生 FQDN,從而確保為 NetBIOS 設計的應用程式與基於純 TCP/IP 的應用程式之間的互通性。
為了解析 TCP/IP 網路中的名稱,電腦可以使用多種方法。 除了向外部伺服器發出簡單的 DNS 查詢之外:
- WINS(Windows Internet 名稱服務)它維護一個動態資料庫,將 NetBIOS 名稱與 IP 位址關聯起來。在子網眾多、純粹廣播不切實際的環境中,它非常有用。
- NetBIOS 廣播解析度(b 節點)此方法定義於 RFC 1001/1002,它使每個裝置透過 IP 網路廣播其名稱,並回應對其的查詢請求。雖然簡單,但在大規模應用中會產生大量噪音。
- 標準 DNS 解析此功能用於尋找 DNS 名稱和 IP 位址之間的關聯,尤其是在存取本機子網路以外的服務時。某些舊版解決方案(例如某些檔案伺服器)可能不會直接使用此功能。
- LMHOSTS 和 HOSTS 文件允許手動定義靜態對應關係。
LMHOSTS它與 NetBIOS over TCP/IP 配合使用,用於 Microsoft 電腦名稱;HOSTS它用於 Windows Sockets 類型應用程式中的通用 DNS 名稱。
在混合網路中,一個非常常見的現像是,同一裝置透過 IP 位址和 NetBIOS 名稱都能正確回應,但透過 DNS 名稱卻無法回應。在這些情況下,通常是由於 SMB 版本差異和協定協商問題(例如,用戶端停用了 SMB1,而伺服器非常老舊)造成的,這會導致在列出資源時出現類似「SMB1 已停用 — 沒有可用的工作群組」的錯誤。 smbclient.
mDNS:適用於沒有 DNS 伺服器的本機網路的輕量級替代方案

當我們談到沒有自己的 DNS 伺服器的小型網路時,mDNS(多播 DNS)就派上了用場。這項技術旨在讓設備無需集中式伺服器即可相互發現,它使用組播而不是傳統的名稱伺服器。
mDNS是零配置網路(Zeroconf)概念的一部分。這項技術最初由蘋果在 2000 年代初期推動發展。蘋果將其應用於 Bonjour 技術中,以便 Mac、印表機和其他設備可以在本地網路上自動找到彼此。
同 El TemppomDNS 在 IETF RFC 6762 中進行了標準化。 並加入了 Linux 後來,也擴展到了 Windows 系統。如今,像 Chromecast 或智慧音箱這樣的裝置依靠 mDNS 來發布服務並被用戶發現,而無需任何用戶配置。
mDNS的基本操作雖然簡單,但卻非常有效。當設備想要解析類似這樣的名稱時: equipo.local它會向多播位址 224.0.0.251 (IPv4) 或 ff02::fb (IPv6) 的 5353 連接埠發送 UDP 查詢。所有監聽該位址的電腦都會收到該查詢。
如果這些電腦中有任何一台擁有所要求的名稱,它將以另一個多重播送訊息回應。 此回應表示名稱與其 IP 位址之間的對應關係。網路中的所有參與者都會收到此回應,並更新其 mDNS 快取。只要資訊仍然有效,就無需重複查詢該名稱。
為避免網路過載,mDNS 包含節省流量的機制。例如,擁有快取回應的用戶端可以「宣布」它認為正確的訊息,只有當名稱的實際擁有者偵測到訊息已過時時,才會發送自己的回應。這限制了更新快取所需的訊息數量。
值得注意的是,mDNS 實際上僅限於特殊網域名稱「.local」。帶有此擴展名的主機名稱透過本地網路上的多播進行解析,但其他頂級網域名稱(例如“.com”或“.es”)不會被 mDNS 處理;它們將由傳統的 DNS 解析方式處理。因此,mDNS 不適用於解析公共網址。
在 Windows 生態系中,本地解析協定的演進過程如下::
- 在版本中 Windows XP中 當時主要使用 NetBIOS 名稱服務透過廣播來發布名稱,這造成了大量的網路雜訊。
- 從 Windows Vista 被介紹 LLMNR(鏈路本地組播名稱解析)它將廣播改為組播,但這項技術仍然主要是為 Windows 環境設計的。
- 從 Windows 10,微軟押注mDNS繼承自類 Unix 世界,旨在提供與第三方設備的更高相容性,並遵循開放標準。
因此,如果您想要的是一個現代化的家庭網絡,其中設備可以透過名稱相互發現而無需設置 DNS 伺服器,那麼這就是為您準備的。DNS 組合 路由器 對於網路存取和本地服務的 mDNS 而言,它比繼續依賴 NetBIOS 要簡潔得多,也更符合標準。
Windows 和 Active Directory 中的 NetBIOS 和 DNS 命名約定
在專業環境中,為團隊、領域和組織單元選擇合適的名稱比看起來重要得多。Windows 和 Active Directory 對 NetBIOS 和 DNS 的有效字元、最大長度和保留名稱都強制執行相當嚴格的規則。
NetBIOS 團隊名稱 以下規則通常適用:
- 允許的字符允許使用所有字母數字字元(ASCII)和句點,但名稱不能以句點開頭。由於 NetBIOS 名稱實際上通常與 DNS 主機名稱一致,因此它也繼承了後者的一些限制。
- 禁忌字符不允許使用的符號包括反斜線 (\)、斜線 (/)、冒號 (:)、星號 (*)、問號 (?)、雙引號 («)、小於號 (<)、大於號 (>)、垂直線 (|) 或逗號 (,)。
- Longitud最少 1 個字符,最多 15 個有效字符。 Windows 內部保留第 16 個字元用於標識服務。
- 大寫和小寫雖然 NetBIOS 會區分大小寫,但 Windows 使用大寫名稱,實際上,系統並不會區分大小寫。
- 句點用作字段分隔符句點可以將名稱拆分為 NetBIOS 作用域識別碼和電腦名稱,但作用域的使用是一種過時的做法,不建議在現代 Active Directory 林中使用。
DNS主機名稱和DNS網域有它們自己的一套規則。 旨在確保與 RFC 和非微軟伺服器的兼容性:
- 有效字符:字母 AZ、數字 0-9、連字號 (-) 和句點 (.) 用於分隔網域名稱中的標籤。
- 不允許使用字符逗號、波浪號、冒號、感嘆號、@符號、井號、美元符號、百分號、抑揚符、&符號、撇號、括號、花括號、底線和空格等字元均被排除在外。
- 格式規則第一個字元必須是字母數字字元;最後一個字元不能是連字符或句點。此外,由於 DNS 限制,僅包含數字的名稱對於 Active Directory 網域成員電腦無效。
- 最大長度每個名稱標籤(句點之間)最多可以有 63 個字元;完整的 FQDN 在 DNS 中最多可以達到 255 個字符,並且由於 SYSVOL 路由問題,存在一些實際限制,例如網域控制器的 FQDN 不超過大約 155 位元組。
Windows 還維護一個保留字表,其中列出了不應用作名稱的保留字。 帳戶、網域名稱或站點的名稱應使用規範的命名方式(例如,SYSTEM、SERVER、ANONYMOUS、USERS、INTERNET、DOMAIN、COMPANY 等)。忽略這些建議可能會導致信任關係、資料複製或腳本出現異常問題,因為這些腳本會假定這些名稱指的是特定的實體。
另一個比較棘手的概念是獨立命名空間。當電腦的主 DNS 後綴與其所屬的 DNS 網域不符時,就會出現這些錯誤。這種情況可能發生在將舊的 NT 4.0 網域控制站升級到現代 Windows 林,或是在未調整電腦主後綴的情況下重新命名網域時。
在單獨的命名空間中,網域控制器在其網域區域中註冊其 SRV 記錄。然而,它將主機 A 註冊到了不同的區域(與其主 DNS 後綴關聯的區域)。這可能會使 DNS 服務在尋找控制器時感到困惑,並導致名稱解析出現異常行為。
關於 Active Directory 基礎架構中 DNS 名稱的一般最佳實踐通常建議:
- 使用易於記憶且能體現團隊目的或組織結構的名稱。
- 將 AD 網域名稱與電腦的主 DNS 後綴對齊。
- 對於可能與公共名稱衝突的內部網,應避免使用通用頂級域名(.com、.net、.org)。
- 不要將 .local 頂級網域用於新建立的林,因為它與 mDNS 密切相關。
- 為了簡化管理,將域的層級深度減少到從根域算起不超過五層。
對於組織單元 (OU) 名稱和 Active Directory 站點,限制較為寬鬆。但是,建議仍然相同:選擇描述性的名稱,使其足夠簡短,並且不會導致將來混淆(例如,避免根 OU 與未來的子域同名)。
現代企業環境中的 NetBIOS
雖然 NetBIOS 不再是主流,但它在許多公司仍然活躍且運作良好。尤其是在仍依賴傳統應用程式或舊系統(如 Windows XP 或 Windows Server 2003)的情況下。
在不只一個組織中,上世紀 90 年代或本世紀初開發的關鍵業務應用程式仍在運作。從管理軟體到資料庫系統,許多系統在設計之初都基於 NetBIOS 上的 SMB 1.0 協定。遷移這些系統需要耗費時間、預算和測試,因此,只要一切運作正常,許多公司就傾向於「維持現狀」。
問題在於,在當前情況下,安全是絕對的首要任務。NetBIOS 和 SMB 1.0 是許多惡意軟體和入侵工具最喜歡的攻擊面之一,因為它們允許枚舉裝置、發現保護不嚴密的共享資源,甚至注入或傳播惡意程式碼。
在 Active Directory 和 DNS 已經配置良好的網路中,NetBIOS 通常是多餘的。網域控制器和用戶端可以透過 DNS 解析名稱,使用 Kerberos 進行身份驗證,並在現代版本中使用 SMB,而無需依賴舊版服務。
公司係統管理員進行初步分析是合理的。檢查哪些裝置和應用程式仍然使用 NetBIOS(例如,透過擷取流量或檢查連接埠 137-139),記錄這些依賴關係,並計劃用受支援的解決方案取代它們。
許多組織的經驗表明,保持 NetBIOS 在企業網路中正常運作至關重要。 它通常帶來的麻煩比帶來的好處更多,尤其是在有嚴格的合規性、審計或網路分段要求的情況下。
如何在 Windows 10 和 11 中逐步停用 NetBIOS
在執行 Windows 10 或 11 的現代電腦上,停用 NetBIOS 非常簡單。可以透過多種方式實現:透過 TCP/IP 設定、登錄編輯器或使用命令列。 命令 使用WMI。
從 TCP/IP 屬性停用 NetBIOS
對許多使用者來說,最直接的方法是使用圖形網路介面。透過存取正在使用的適配器(Wi-Fi 或乙太網路)的進階設定。
- 打開菜單 首頁 然後進入 組態 > 網絡與互聯網.
- 點擊 更改適配器選項 查看可用的網路介面。
- 右鍵點選您正在使用的轉接器(Wi-Fi 或 LAN),然後選擇 性能.
- 選擇 Internet協議版本4(TCP / IPv4) 然後點擊 性能.
- 在出現的視窗中,轉到 進階選項 然後打開標籤 WINS.
- 檢查選項 停用 TCP/IP 上的 NetBIOS接受所有對話方塊並關閉。
從那一刻起,該適配器將停止使用 NetBIOS。如果將來需要重新激活,只需重複相同的步驟,然後選擇啟用該功能或讓 DHCP 控製配置的選項即可。
在登錄編輯器中停用 NetBIOS
如果您希望進行更精細的控制,或者想使用腳本或群組原則物件 (GPO) 應用更改您可以透過修改 Windows 登錄中與適配器對應的設定值來實現這一點。
- 打開菜單 首頁,寫道 註冊表編輯器 然後運行它(或按) WIN + R,寫道
regedit並接受)。 - 導航至金鑰
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces. - 裡面你會看到幾把鑰匙 環丙烷每個適配器對應一個選項。選擇與要停用 NetBIOS 的介面對應的選項。
- 在右側面板中,找到值 Netbios選項 並雙擊它。
- 將其值更改為 2 停用 TCP/IP 上的 NetBIOS 並儲存變更。
套用此設定後,所選適配器的 NetBIOS 將被停用。Windows 10 的操作步驟類似, 窗戶11, 並且可以 整合到自動化腳本中 適用於多個設備。
從命令提示字元禁用 NetBIOS
在管理環境中,另一個非常有用的方法是使用命令列中的 WMI。尤其是如果您想實現自動化或逐步記錄變更過程的話。
- 打開一個窗口 命令提示 (CMD),可以從「開始」功能表或透過 WIN + R 和寫作
cmd. - 運行命令:
wmic nicconfig get caption,index,TcpipNetbiosOptions - 寫下 索引 您要停用 NetBIOS 的適配器(該列)
index). - 執行命令:
wmic nicconfig where index=X call SetTcpipNetbios 2
替代 X 按下適配器的索引號(例如,4)。
透過此命令,將在選定的適配器上停用基於 TCP/IP 的 NetBIOS。這是使用腳本或遠端管理工具將變更快速應用到多台電腦的方法。
從 DHCP 伺服器停用 NetBIOS
如果您管理的網路擁有自己的 DHCP 伺服器,您也可以從伺服器端強制執行 NetBIOS 行為。以便所有從該範圍內取得 IP 位址的用戶端都能收到停用 NetBIOS 的指令。
- 在伺服器上,轉到 首頁 > 程式 > 管理工具 > DHCP.
- 在導覽面板中,展開您的 服務器, 然後他 範圍 對應的輸入 範圍選項.
- 點擊 設定選項 並轉到選項卡 進階選項.
- 在清單上 供應商類別選擇 Microsoft Windows 2000 選項 (或與您的客戶對應的那個)。
- 確保使用者類別為預設值(使用者類別).
- 勾選複選框 001 Microsoft NetBIOS 停用選項 在可用選項中。
- 在該地區 數據輸入,介紹 0x2 並確認 接受.
從那時起,客戶端便開始從該 DHCP 作用域接收設定。 他們會將此解讀為要求他們停用 TCP/IP 上的 NetBIOS,從而統一整個網路的行為,而無需單獨觸碰每個裝置。
為什麼今天值得停用 NetBIOS
除了技術細節之外,考慮停用 NetBIOS 的主要原因是安全性問題。這是一個老舊且維護不善的協議,儘管實際上沒有人需要它,但在許多系統中仍然默認處於啟動狀態。
許多現代攻擊都依賴過時的協定。這可能是由於缺乏補丁、缺乏現行的安全措施,或者僅僅是因為人們出於習慣而啟用了這些功能。此外,NetBIOS 從一開始就預設啟用,這也加劇了問題。 開機 在多台 Windows 電腦上,這為攻擊者提供了另一個可探索的入口。
但這並不意味著 NetBIOS 的設計本身就是「邪惡的」。它不僅過時了,而且已經過了有效期限。就像使用存在已知漏洞的舊版 WinRAR 或不受支援的 Office 套件毫無意義一樣,繼續依賴一個平臺本身已經用更安全的替代方案取代的協議也毫無意義。
在 DNS、mDNS、現代 SMB 和 Active Directory 能夠滿足所有名稱解析和共享需求的環境中維護 NetBIOS 通常弊大於利。如果您發現不再存在任何明顯的依賴關係(或您可以取代剩餘的依賴關係),那麼停用 NetBIOS 是增強整體網路安全的簡單步驟。
這是關上那些毫無益處的舊門。檢查哪些服務正在實際使用,關閉已過時的服務,並依靠 DNS 和 mDNS 等現代標準,以便設備能夠繼續相互查找,但無論是在家中還是在辦公室,都能以更強大、更安全的方式進行。
對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。