天天看點

Windows Server 2008 網絡診斷架構及排錯工具大全

Windows Server 2008 網絡診斷架構及工具

         企業網絡的使用者通常依靠網絡連接配接來執行他們被授予的工作與職責,如果網絡發生問題可能會對企業的生産力造成顯着的影響。當企業網絡發生問題時,網絡管理者需要快速的診斷出問題所在,此時可以從Windows Server 2008計算機診斷與解決許多常見的網絡錯誤與問題。

很多人認為Vista和08中的“網絡診斷架構(Network Diagnostics Framework;NDF)”非常不好用,但對一個經驗不足的管理者來說這是一個協助你恢複和解決網絡連接配接問題的可延展性架構。NDF是一組技術和準則,能夠讓一組“疑難解答員(也稱為協助程式類别)”協助診斷并可能自動更正網絡連接配接問題。對于以TCP/IP為基礎的通訊,NDF可為使用者提示一系列選項,以排除可能的原因,直到最終确定問題的根源或排除所有的可能性。NDF可診斷與TCP/IP相關的具體問題如“IP位址不正确”、“預設網關不可用”、“不正确的預設網關”、“NetBIOS over TCP/IP名解析錯誤”、“不正确的DNS配置”、“本機的端口已被占用”、“DHCP用戶端服務未執行”、“遠端端口未開”“媒體已中斷”、“本機端口被封鎖”、“記憶體不足”等。

         診斷TCP/IP協定是否可以正确連接配接是最基本的排除網絡故障工作,系統管理者可以使用ipconfig、ping等指令來檢查主機TCP/IP的連接配接狀況,建議檢查的方式與步驟依序如下:

Setp01. 執行ipconfig /all:這個指令可以顯示目前TCP/IP的詳細配置是否有誤。

● 使用者應該仔細檢查是否有網絡擴充卡的MAC位址、IP位址、子網路遮罩、預設網關、DNS伺服器等配置資訊,以及是否正确。例如:如果發現IP位址為0.0.0.0,那可能是發生IP位址沖突的問題。如果IP位址為169.254開頭的位址,則表示系統因為無法于網絡上取得有效的IP位址(DHCP發生問題)而自動啟動APIPA功能。

● 如果是自動配置設定IP位址的網絡環境,則請仔細檢視DHCP伺服器與取得的IP位址是否正确,因為如果租用到非經授權的DHCP伺服器的IP位址也會導緻連接配接問題。

Setp02. Ping 127.0.0.1檢測本機的TCP/IP協定運作是否有問題。

Setp03. Ping本地計算機的IP位址。例如:本地計算機的IP位址為10.0.1.241,則請ping 10.0.1.241。

Setp04. Ping預設網關的IP位址。例如:預設網關的IP位址為10.0.1.254,則請ping 10.0.1.254。預設網關如果沒有辦法連通,那麼你将無法與其他網段的主機進行連接配接。發生問題的原因有可能預設網關IP位址配置錯誤,也有可能是計算機配置啟動了封包過濾的功能機制所導緻。

     另外,許多公司基于安全上的考慮會在防火牆或計算機本身配置拒絕接收“ICMP ECHO Request”封包的機制,是以,如果你想要從網際網路連接配接公司内部重要的系統通路資源時,可能會無法得到Ping或Tracert指令的請求資訊響應,或是顯示“請求逾時(Request Time Out)”的錯誤資訊。

另外,如果網絡發生過度擁擠狀況也會引起Ping指令”要求等候逾時”的錯誤響應消息,此時,你可以利用Ping –t或是Ping –w的指令再嘗試連接配接。如果你的網絡基本配置與一般連接配接都沒有問題,但是卻無法順利連接配接至某些遠端計算機時,你可以利用Tracert指令來追蹤問題可能的故障點。Tracert指令會利用逐層遞增的“生存時間(TTL)”值來發送“ICMP ECHO Request”資訊至目的地,以決定到達目的地的路徑,同時Tracert也顯示了來源主機與目的地之間的路徑清單,是以可讓你清楚的檢視并判斷哪個中間路由器發生問題或轉發延遲。

以下列出常見的網絡問題,而其後所列的是最有可能用來差別、診斷、以及解決這些問題的工具。下面介紹這些工具:

■ 部分用戶端無法連接配接至伺服器:Arp、Ipconfig、Nbtstat、Netstat、“網絡螢幕(Network Monitor)”、Nslookup、PathPing、Portqry、Telnet Client、“Windows網絡診斷(Windows Network Diagnostics)”。

■ 所有用戶端都無法連接配接至伺服器:Ipconfig、網絡螢幕、Portqry、Telnet Client、Windows網絡診斷。

■ 用戶端無法連接配接至共享檔案夾:Ipconfig、Nbtstat、Net、Nslookup、網絡螢幕、Portqry、Telnet Client、Windows網絡診斷。

■ 用戶端無法連接配接至網絡:Ipconfig、Windows網絡診斷。

■ 網絡運作緩慢:網絡螢幕、Performance Monitor、PathPing、Resource Monitor、Task Manager。

要知道,許多因素都會影響網絡的效率與可靠性,包括遠端連接配接、硬體配置(網卡或是實體網絡連接配接),以及裝置的驅動程式等。而網絡所碰的問題經常與通信協定配置錯誤有關。例如說,在TCP/IP網絡中使用不正确的配置,可能會影響IP尋址、路由、以及IP安全等。

Windows Server 2008提供多個可以用來監控、測試網絡性能,以及診斷與排錯網絡問題的工具,說明如下:

■ Arp:一個用在診斷在區域網路絡中的兩台計算機無法通過路由器互相通訊時相當有用的指令提示字元工具。此外,Arp在診斷用戶端與網關之間的問題也很有幫助。它以廣播查詢的方式來獲得IP位址和實體位址的對應。你可以執行“arp -a”的指令來檢視Arp cache中的IP與網卡位址的對應是否有問題。然後執行”arp -d”的指令清除該條有問題的資料。而更多有關arp指令的用法,可以通過執行“Arp”指令取得。

■ ipconfig:是一個用來處理當使用DHCP擷取IP配置時碰到問題,非常有用的排錯工具。你可以使用它來顯示目前的IP配置,或是識别APIPA功能是否被啟動,以及使用“ipconfig /releasec”來釋放,或是“ipconfig /renew”更新指定網卡的IPv4位址,而如果是使用IPv6則可以執行“ipconfig /release6”與“ipconfig /renew6”。你可以通過執行“ipconfig /all”指令顯示所有網絡接口最完整詳細的TCP/IP資訊。而使用“ipconfig /?”指令可以獲得所有參數的使用資訊。

NetBIOS“Name(名稱)”實際上是用來識别服務,而不是計算機。如果你要嘗試解析NetBIOS名稱對應至特定的NetBIOS服務,可以使用 /x 參數,并指定該NetBIOS服務的”代号(suffix)”。例如,執行“Nblookup /x 1C DOMAIN1”指令,找尋DOMAIN1域中的”域控制器(其NetBIOS的代号為1C)”。而通過執行“nblookup /?”指令可以得到最詳細的使用方法的相關資訊。

■ Nbtstat:是一個用于當NetBIOS名稱解析發生問題時,排錯的指令提示字元工具。NetBIOS名稱解析是網絡上常見的問題,你可以使用Nbtstat來顯示本地計算機或遠端計算機的NetBIOS名稱資訊,用以協助你在進行排錯時确認該計算機NetBIOS服務是否有啟動,以及其名稱是否被正确的解析。

通過執行“nbtstat -c”可以檢視NetBIOS name cache,“nbtstat -n”可檢視本機所提供的NetBIOS服務名稱,若要檢視遠端主機的NetBIOS名稱,可以執行”nbtstat -a SERVER1”指令,或者是通過IP位址檢視,例如執行“nbtstat -A 192.168.1.102”指令。

■ Net:是一個用于修改網絡配置、啟動或停用服務,以及檢視共享檔案夾非常有用的指令提示字元工具。雖然其他相同功能的工具提供了比Net更友好的操作界面,但是,Net在快速提供本機或遠端計算機有效的共享資源資訊時是非常有用的工具。當你在執行共享資源連接配接排錯工作時,該工具在确認共享資源是否有效,以及确認資源的共享名時是非常有用的工具。例如,可以執行“net share”指令檢視本機共享資源資訊,執行“net view RemotePComputerName”檢視遠端計算機的共享資源資訊。

■ Netsh:是一個可用于配置許多不同網絡相關配置且功能強大的工具。而當它被用于執行網絡連接配接問題排錯時也是極具價值。例如,為了能在執行無線網絡問題診斷時,找到最有可能問題的所在,應該從可能引發問題的根源進行診斷,你可以執行“netsh wlan show drivers”指令來确認無線網卡的驅動程式是使用“原始Wi-Fi驅動程式(Native Wi-Fi drivers)”驅動程式,若顯示是采用“Legacy Wi-Fi drivers”,則有可能是驅動程式造成問題的原因。你也可以執行“netsh advfirewall show domainprofile”指令檢視域中有關防火牆功能的配置,如果因為配置防火牆而導緻問題,可執行“netsh advfirewall reset”指令讓防火牆還原為最初預設值。此外,在進行遠端通路服務排錯時,可執行“netsh ras show user”快速了解哪些使用者可以連接配接至遠端通路伺服器,然後再進一步确認問題。

■ Netstat:是一個用于識别網絡服務及其使用的端口時非常有用的工具。當要列舉一台計算機已開啟的端口,來确認某個網絡服務是否使用預設的端口提供服務時非常有用。你可以執行“netstat -a -n -o”來檢視已開啟并且有通路連接配接的端口。如果同時想知道開啟某個端口的程式是哪一個,則可以執行“netstat -a -n -o -b”指令。

■ Network Monitor:Network Monitor是一個由Microsoft免費提供的具有分析複雜網絡通訊能力的工具,它可以通過Microsoft Download下載下傳具。該工具是一個具有“捕捉(Capturing)”Windows Server 2008計算機所接收或發送封包的每一個位元組的通信協定分析工具。有經驗的管理者可以使用Network Monitor針對“網絡性能問題”、“TCP連接配接問題”、“IP通信協定堆棧配置問題”、“因設定網絡過濾器所導緻的問題”、“以文字為基礎的通信協定,例如,HTTP、POP3、SMTP等在應用層所遇到的問題” 等等。Network Monitor通過識别在網絡上的不同通信協定,對大量捕捉到的資訊執行解析,甚至可以解釋大部分應用層的通信協定。使用Network Monitor分析網絡流量的步驟如下:

Setp02. 點選“開始”,點選“所有程式”,點選“Microsoft Network Monitor 3.3”檔案夾,然後點選“Microsoft Network Monitor 3.3Microsoft Network 3.3”啟動。

Setp03. 檢查 “Tools“菜單下的“Options“ 選項,并確定“Capture ”頁面中的勾選“Enable Conversations ”選項,并在啟動抓包前確定勾選一或多塊網卡。

Setp04. 在圖中的操作界面上點選“New Capture”或者下方的“New Capture tab…”,建立新的捕獲面闆。

圖:建立Network Monitor捕獲

Setp05. 點選“Play”按鈕,開始捕捉經過所勾選網卡的封包,并執行應用程式以産生流量。

Setp06. 在“Capture”視窗中,點選“Stop”,并檢視其内容。下圖顯示使用Network Monitor檢視所捕捉到的“Telnet request”封包的内容。

圖使用Network Monitor檢視捕獲到的封包内容

■ Nslookup:是一個用來驗證DNS名稱解析問題,以及能提供執行DNS名稱解析及産生報告結果的指令提示字元工具。此外,它會顯示DNS伺服器響應的結果,同時指定特定的DNS伺服器執行名稱解析操作。當使用Nslookup對下列問題排錯時,它是一個修複性提示的工具:

 用戶端需花上用去幾秒的時間建立與初始化對伺服器的連接配接。

部分用戶端可與伺服器建立連接配接,但是有些則是連接配接遇到問題。

DNS伺服器配置正确,但是用戶端卻解析到不正确的主機名。

你可以執行“nslookup hostname”指令來解析該主機名所對應到的IP位址,或執行“nslookup ipaddress”指令解析該IP位址所對應的主機名。此外,也可以執行“nslookup hostname server_name_or_address”指定特定的DNS伺服器執行名稱解析,以及執行“nslookup "-set type=mx" microsoft.com”指令查詢microsoft.com域的“郵件伺服器記錄(即MX記錄)”。另外,你也可以執行“nslookup "-set vc" microsoft.com”指令,讓Nslookup使用“虛拟線路(Virtual Circuit)”的方式,也就是使用TCP的連接配接連至DNS伺服器。這種測試尤其對預期所提出的DNS查詢會有大量的響應記錄時特别有用。

■ Ping:是簡單監控網絡連接配接能力的最佳工具。你可以使用”ping -t hostname”指令連續不斷送出Ping要求,藉此簡單的判斷是否你目前有連上目标主機。

■ Performance Monitor:你可以使用“性能螢幕(Performance Monitor)”檢視Windows系統,提供數以千計的實時計數器中所包含關于本機或是遠端計算機的資訊。當在執行網絡性能問題排錯時,使用比任務管理器或資源螢幕提供較詳細的方式的性能螢幕,來檢視“目前帶寬使用率(Current Bandwidth Utilization)”。而性能螢幕額外提供檢測“retries”、“errors”,以及更多狀況檢測。

提示:我的Windows Server 2008 中未包含Portqry工具,讀者可在微軟網站上搜尋“PortQry Command Line Port Scanner Version 2.0”工具下載下傳,并将其解壓到System32目錄中即可。

■ “資源螢幕(Resource Monitor)”:Windows Server 2008提供“資源螢幕(也稱為可靠性和性能)”讓你可以檢視CPU、磁盤、網絡,以及記憶體使用率等系統元件的資訊。而它所提供有關網絡元件的資訊,在解決網絡問題時是很有幫助。資源螢幕中的”網絡”部分所提供的相關資訊,顯示每一分鐘計算機内的程式所傳送與接收的位元組數量。而這個資訊,可讓你識别計算機中是否有未經授權的程式正在大量傳送資料至網絡,進而解決相關的問題。

■ Route:所有以IP為基礎的網絡裝置,包括計算機都有“路由表(Routing Tables)”。路由表可用在網絡間轉送封包的區域網路絡、遠端網絡、以及網關。你可以執行“route print”指令顯示本地計算機的路由表。此外,可以使用Route指令診斷路由問題,以及測試不同路由配置。

■ Tracert:追蹤網絡連接配接路由,用于判斷IP封包到達目的地所經過的路徑。Tracert指令會使用IP“存活時間(TTL)”字段及ICMP錯誤資訊,以判斷A主機至B主機在網絡上的路由。

提示:遺憾的是Windows Server 2008中未包含Ttcp工具,是以熟悉Windows Server 2003 的老使用者可以在Windows Server 2003 CD中的“Valueadd\Msft\Net\Tools”目錄内可以找到它。

■ Netdiag:Netdiag是Windows Server 2003的support.cab支援工具檔案内,提供的一個功能強大的指令行指令,可以用來執行網絡的完整測試,也可以執行特定網絡項目的診斷與測試。雖然Windows Server 2008并不提供該工具,但仍可從Windows Server 2003的支援工具壓縮檔案取得。netdiag指令文法簡單而且易用,你可借助執行“netdiag /?”顯示其完整用法。以下列出幾個netdiag的範例以供參考:

 netdiag /v:提供詳細而完整的網絡資訊收集和診斷結果。不過這個選項的輸出雖然包括網卡、協定與服務的完整診斷輸出,不過卻太過冗長繁雜不易檢視,一般而言會采用“/test”選項來針對特定網絡項目診斷輸出。

 網卡查詢測試:netdiag /v /test:ndis

 遠端通路連接配接測試:netdiag /v /test:wan

 測試DNS服務:netdiag /v /test:dns

本文轉自張琦51CTO部落格,原文連結: http://blog.51cto.com/zhangqi/183626,如需轉載請自行聯系原作者

繼續閱讀