Win2k“秘密武器”之連通測試工具(轉)

amyz發表於2007-08-11
Win2k“秘密武器”之連通測試工具(轉)[@more@]

  網路連通診斷(Netdiag.exe)

  由於CW2KP對網路的支援比之前面的windows版本已經大大強化,故支援工具中,對網路故障也配備有相應的診斷測試工具,這次介紹的Netdiag.exe,就是頗為方便實用的一個。

  該工具只採用命令列形式(這樣系統資源的開銷很小),用來幫助你診斷並排除網路連通方面的故障,它使用的主要方法是利用執行特定的程式來測試網路的狀態,一步步分隔故障區域,最終卻定故障發生的確切部位.測試的核心是得到網路關鍵的狀態資訊,直觀些說是將問題暴露出來,方便技術支援人員、網路管理人員進行問題的排查和分析,以決定採取哪些直接有效的手段.更優秀之處在於:這個工具簡便易用,使用的引數和開關很少,但功能強大,這樣,無論是技術支援人員或網路管理人員,都儘可集中精力來分析輸出狀態而無需心有旁鶩,因而倍受上述人員的喜愛。

  由於該工具包含的內容太多,我擬分成兩部分介紹,本次主要先介紹語法和測試名稱,其餘的都放到下一篇中。

  首先指出:在下述的大部分情況下,或實際應用這個工具的時候,系統必須已經"繫結"TCP/IP協議和網路介面卡.這個網路連通測試工具主要具備以下特點:

  1.採取命令列執行的方式,更便於編寫指令碼檔案.

  2搭載Windows Management Instrumentation (WMI)與相應的動態連線庫以及MSINFO後,可以使用GUI登入指標.

  3.蒐集網路的狀態資訊、檢測網路的驅動程式、協議驅動程式、接收/傳送能力等等.

  4測試接受應用程式或服務所產生的輸入資訊或返回資訊的方法.

  5.在Win32作業系統上的執行.

  6.網路管理員可以用排程程式,每間隔一定時間自動生成報告.下面首先介紹語法,然後進行例項分析。

  Netdiag的完整語法:

  netdiag [/q] [/v] [/l] [/debug] [/d:DomainName] [/fix] [/DcAccountEnum] [/test:testname] [/skip:testname]

  引數及含義:

  /q

  指定靜態輸出.(僅指錯誤資訊)

  /v

  指定詳細的輸出.

  /l

  向 NetDiag.log檔案傳送輸出.

  /debug

  指定更詳細的輸出資訊,執行可能需要幾分鐘時間才能完成.

  /d:DomainName

  在指定域中查詢域管理器.

  /fix

  維修區域性的問題.

  /DcAccountEnum

  列舉域管理器(中的)計算機賬號.

  /test:TestName

  執行已經列出專案的測試或一般性測試,測試之前應檢驗一下,確保TCP/IP 協議已經"繫結",當然網路介面卡也必須能正常工作.如果沒有指定要跳過的測試,那麼預設為進行所有測試,該工具將可以進行的所有測試都進行了命名,無論指定要進行的測試或指定要跳過的測試,都必須用到這些名字.為了方便查詢,我將這些測試名稱附以簡單的說明列舉在下面(以下部分中"測試"和"檢驗"可以理解為意義相同):

  * Autonet - 自動進行APIPA檢驗,即自動進行"私用"IP地址檢驗.

  * Bindings - 繫結檢驗

  * Browser - 瀏覽器檢驗

  * DcList -檢驗域控制器列表

  * DefGw - 預設閘道器檢驗

  * DNS - DNS 檢驗

  * DsGetDc - 域控制器"發現"檢驗

  * IpConfig - IP地址配置檢驗

  * IpLoopBk - IP 地址 loopback ping 檢驗

  * IPX - IPX 檢驗

  * Kerberos - Kerberos 檢驗

  * Ldap - LDAP 檢驗

  * Member - 域成員資格檢驗

  * Modem - Modem (調變解調器)診斷檢驗

  * NbtNm - NetBT名稱檢驗

  * Ndis - Netcard 詢問檢驗

  * NetBTTransports - NetBT傳送檢驗

  * Netstat - Netstat 狀態資訊檢驗

  * Netware - Netware 檢驗

  * Route - 路由檢驗

  * Trust - 信任關係檢驗

  * WAN - WAN 配置檢驗

  * WINS - WINS 服務檢驗

  * Winsock - Winsock 檢驗

  /skip:TestName

  * 跳過指定名稱的檢驗,這些檢驗的名稱與上面列舉出來的完全相同,所以不再重複列出.

  執行這個程式,可以開啟"開始->執行",然後在編輯框中鍵入"cmd",也就是開啟命令列執行工具的介面(說穿了就是dos介面),在游標處鍵入netdiag/xx,這裡的xx是選項部分,然後回車即可,例如鍵入netdiag/?,回車後可以得到所有的幫助資訊,包括測試專案的命名資訊。

  我們在"網路連通測試工具"的上篇,介紹了應用語法和測試專案的命名介紹,這次我們將透過一個實作例子,學習如何進行連通檢測的實戰操作.因下面的介紹將涉及兩個名詞,所以先對這兩個名詞的含義進行解釋:WINS:這是一個伺服器名字,WINS是Windows Internet Name Service的縮寫;Ping:是 TCP/IP協議中的一個用來驗證配置和測試連通性的實用程式.好了,言歸正傳,下面我們假定一個網路出現了與鏈結方面有關的問題,那麼技術支援人員或者網路管理員應當依據什麼步驟使用Netdiag工具呢?如上篇所述,該工具可以自動進行一整套的測試,也可以進行指定專案的測試.至於選用哪種測試要根據情況.下面先介紹完全的測試.

  所謂測試就是執行網路連通測試程式,先滑鼠點選"開始->執行",編輯框中鍵入"cmd"回車,出現命令列程式視窗之後,在游標處鍵入"netdiag",回車,程式會開始自動執行測試.若不加任何選項,則隨著測試的進行,相應的資訊不斷顯示在螢幕上,例如一開始是計算機名稱、域名主機伺服器名稱、系統名稱(例如Workstation 2000)、CPU型別等等資訊.然後進行網路卡測試並顯示結果,顯示的方式為是否透過測試,如果透過,就顯示Passed.

  由於生成的測試結果很長,原不準備完全摘抄,怕編輯以為我想多騙他幾文稿費銀子而故意將文章抻長加水,後來想想,還是完整介紹出來,以求朋友們能先具備感性認識.以本人自學的經驗,這些感性認識有時比那些令人頭大的敘述要強十倍!英文好的也可以參考Support Tools目錄中關於Netdiag使用文件中的例子,例子中每一項的檢測結果,都與上篇所介紹的專案對應.

  以下表中左邊是測試過程中螢幕所顯示的結果,右邊是我加的中文簡釋:

  英文的命令或顯示的結果

  中文簡釋

  C:Program FilesSupport Tools>netdiag

  執行測試程式

  Computer Name: ginger 計算機名稱
  DNS Host Name: ginger.dns.microsoft.com 域名伺服器主機名
  System info : Workstation 2000 (Build 2072) 系統資訊
  Processor : x86 Family 6 Model 5 Stepping 1, GenuineIntel 處理器種類
  List of installed hotfixes : Q147222
Netcard queries test . . . . . . . : Passed 網路卡測試
Per interface results: 各個介面結果
  Adapter : Local Area Connection 本地介面卡連線
    Netcard queries test . . . : Passed
 Host Name. . . . . . . . . : ginger.dns.microsoft.com 主機名稱
    IP Address . . . . . . . . : 157.54.162.163 IāP地址
    Subnet Mask. . . . . . . . : 255.255.252.0 子網掩碼
    Default Gateway. . . . . . : 157.54.161.1 預設閘道器
    Primary WINS Server. . . . : 157.55.254.223 主WIN伺服器
    Secondary WINS Server. . . : 157.55.254.224 次WINS伺服器
    Dns Servers. . . . . . . . : 157.55.254.218 域名伺服器
                  157.55.254.216
    AutoConfiguration results. . . . . . : Passed 自動配置結果
    Default gateway test . . . : Passed 預設閘道器測試
     NetBT name test. . . . . . : Passed NetBT名測試
 WINS service test. . . . . : Passed WINS服務測試
Global results: 全域性結果:
Domain membership test . . . . . . : Passed 域成員資格測試
NāetBT transports tes NetBT傳送測試
  List of NetBt transports currently configured. 當前傳送配置列表
    NetBT_Tcpip_{EF3D8BEA-884A-40FC-BB0C-1B59247CABB7} Tcpip協議
  1 NetBt transport currently configured. 以下為當前傳送配置情況
Autonet address test . . . . . . . : Passed 自動網地址測試
IP loopback ping test. . . . . . . : Passed IP往復測試
Default gateway test . . . . . . . : Passed 預設閘道器測試
NetBT name test. . .. . . . . . . . : Passed
Winsock test . . . .. . . . . . . . : Passed Winsock測試
DNS test . . . . . .. . . . . . . . : Passed 域名伺服器測試
Redir and Browser test . . . . . . : Passed 緩衝與瀏覽器測試
  List of NetBt transports currently bound to the Redir NetBt指向緩衝區的當前繫結傳送的列表
    NetBT_Tcpip_{EF3D8BEA-884A-40FC-BB0C-1B59247CABB7}
  The redir is bound to 1 NetBt transport.
  List of NetBt transports currently bound to the bārowser NetBt指向瀏覽器的當前繫結傳送的列表
    NetBT_Tcpip_{EF3D8BEA-884A-40FC-BB0C-1B59247CABB7}
  The browser is bound to 1 NetBt transport.
DC discovery test. .. . . . . . . . : Passed DC發現測試
DC list test . . . .. . . . . . . . : Passed DC列表測試
Trust relationship test. . . . . . : Passed 信任關係測試
  Secure channel for domain 'home' is to 'skipper.corp.microsoft.com'. 信任關係測試的結果資訊
Kerberos test. . . .. . . . . . . . : Passed Kerberos 測試
LDAP test. . . . . .. . . . . . . . : Passed LDAP測試
Bindings test. . . .. . . . . . . . : Passed (協議)繫結測試
WAN configuration test . . . . . . : Skipped WAN配置測試(被跳過)
  No active remote access connections. 提示資訊
Modem diagnostics test . . . . . . : Passed Modem診斷測試
The command completed successfully 提示命令全部順利完成

  上表中的有些格里沒有填寫中文內容,這有兩種原因:一是重複部分只填寫最先出現的一個,以後再出現的均不再重複填寫;二是限於本人水平和手頭資料的匱乏,其含義暫不清楚,所以與其弄巧不如藏拙. 上面的測試是完整的,自動地進行的,這樣好是好了,但有問題的和無問題的都必須過一遍,消耗時間太長.如果已經基本分割出故障部位,僅需要特定的測試,該如何進行呢?請稍安勿燥,下一次,我們將討論如何進行指定專案的測試.

  前面說過,netdiag命令可以靈活地使用:既可執行完整性測試,也可執行針對特定專案的測試,前者得出的結果全面而完整,缺點是佔用時間較長。後者針對性強,有立竿見影之效。實際應用中可以根據情況靈活掌握。如果希望針對特定的專案進行測試,可以在命令之後附加要測試的專案名稱.這些名稱在第一部分中已經提到過.由於這些名稱是CW2KP定義好的,所以不能再使用別的或自行定義的名稱,那樣系統是不能識別的.為了方便大家使用,這裡將每種測試的名程都列出來,並對每一種測試的用處和目的都予以儘量詳細的解釋.需要宣告的是,由於本人水平有限,資料也不甚完備,成文時雖再三推敲,也難免錯誤,希望大方之家不吝賜教。

  Network adapter

  1. netdiag /test:Bindings  

  A.列舉所有安裝的網路介面卡配置的詳細資料,包括:網路介面卡的描述、實體地址與資源使用情況.

  B.校驗LAN 和WAN介面卡的狀態,例如是否初始化或是否有錯誤等等.

  C."感知"網路介面卡(如果連通的話).

  WAN

  2. netdiag /test:WAN

  A. COM埠的使用與設定,包括:資料位、停止位、奇偶校驗位、波特率、錯誤檢測、壓縮、LCP擴充套件、統一程式碼雙位元組字符集(1988-91年建立的標準)的支援等等.

  B. "感知"WAN網路介面卡(如果連通的話)

  Bindings(協議)繫結測試

  3. netdiag /test:Bindings

  測試所有的網路繫結,包括有問題的繫結

  Winsock

  4. netdiag /test:Winsock

  A.列舉提供套接Winsock的服務層次,包括所支援的版本、廠商資訊描述、套接字、資料包等方面的資訊

  B. Ping Web 代理伺服器,如果存在的話.(注意這裡Ping的含義是指執行Ping命令)

  TCP/IP 協議

  TCP/IP的一般測試:

  5. netdiag /test:IPConfig

  A.配置資訊:包括:IP地址、子網掩碼、預設閘道器、啟用自動配置、啟用DHCP和LMHOSTS、 主機名、DSN服務、DSN的域、WINS服務、節點型別、NetBIOS的ID範圍等等,總共有大約20個方面的資訊,具體可以參照上一篇所給出的例子.

  6. netdiag /test:DefGw

  A. 列舉預設閘道器設定:如果當前預設的閘道器地址可用,執行Ping(命令),如果不能"到達"當前的閘道器,則對每一個閘道器執行Ping(命令),直至成功或直至完成列表內的所有(閘道器)

  DHCP

  (DHCP是指:主機動態配置協議,DHCP可以對IP地址進行動態分配,並確保不產生地址衝突)

  B . DHCP (動態IP地址) “租用” 的開始和結束

  C. 如果APIPA地址在使用中,則“廣播” DHCP 伺服器可用。

  NETBT

  7. netdiag /test:Netstat

  列舉本地和遠端的cache 名,(例如:nbtstat -c 和 nbtstat -n)

  DNS server

  8. netdiag /test:DNS

  A. 用Ping程式來測試 DNS 伺服器.

  B. 如果伺服器不可用,則將目標地址、狀態碼和描述資訊記錄到日誌檔案中.

  C. 嘗試進行下一個伺服器,直至遍歷每一個伺服器.

  D. 查詢DSN伺服器53埠的SOA記錄.

  WINS server

  9. netdiag /test:WINS

  A. 用Ping程式來測試 WINS伺服器.

  B. 測試工作組是否成功註冊有唯一的名稱。

  C. 完成對上述名稱的測試

  B. 如果伺服器不可用,則將目標地址、狀態碼和描述資訊記錄到日誌檔案中.

  D. 嘗試進行下一個伺服器,直至遍歷每一個伺服器.

  IPX

  10. netdiag /test:IPX

  A. 得到幀型別,網路的ID,啟用源路由,路由器的MTU資訊等等。.

  Routing

  11. netdiag /test:Route

  A. 如果路由器持續穩定,則列舉靜態路由及報告,應注意的是,本項測試不適用於windows95&98的操作平臺。

  Netware

  12. netdiag /test:Netware

  A.目錄或繫結註冊,如果目錄在預設環境中註冊,則指向booyup.

  Distributed systems分佈系統的測試

  RPC Tests – 完成RPC繫結和應答。

  13. netdiag /test:DsGetDC

  A.在你的域中發現域控制器,包括:域控制器名稱、IP地址、域名、域的GUID、目錄名、域控制器站點名、(我們)自己的站點名、標誌等等。

  B. 在你的域中發現主域控制器PDC(PDC:是Primary Domain Controller的縮寫),包括:域控制器名稱、IP地址、域名、域的GUID、目錄名、域控制器站點名、(我們)自己的站點名、標誌等等。

  C.在你的域中發現windows2000的域控制器,包括:域控制器名稱、IP地址、域名、域的GUID、目錄名、域控制器站點名、(我們)自己的站點名、標誌等等。

  14. netdiag /test:DcList

  列出域中的域控制器(表)。

  15. netdiag /test:Trust

  信任關係測試??列舉NTLM和Kerberos 的信任關係。

  16. netdiag /test:Kerberos

  Kerberos 測試: 包括伺服器名、終止時間、更新時間。注意這個測試不能用於Windows 95/98 及 Windows NT 4.0

  17. netdiag /test:Ldap

  A. LDAP 測試,不鑑別呼叫LDAP??得到當前的時間、伺服器名稱、設定和規劃等等。注意這個測試不能用於Windows 95和Windows NT 4.0

  B. NTLM 鑑別LDAP呼叫

  C.鑑別LDAP呼叫

  D. IPSEC 測試:列舉IPSEC 的策略設定。注意這個測試不能用於Windows 95/98 和 Windows NT 4.0

  由於有太多的名詞術語以英文縮寫的形式出現,其具體含義不可能都在本文中加詳盡的解釋,但你也不必因此而沮喪,因為在支援工具裡,位於windows 2000 support tools ools help中,有一個叫Glossary(術語表)的檔案,絕大部分術語都可以在裡面找到,提供有按英文字母順序排列的索引,並有詳盡的解釋,原文是英文.如果你的英文可以,不妨進去查詢參考一下.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-946994/,如需轉載,請註明出處,否則將追究法律責任。

相關文章