WEB开发网
开发学院操作系统windows 2008 Win2k“秘密武器”之连通测试工具 阅读

Win2k“秘密武器”之连通测试工具

 2006-03-31 12:00:15 来源:WEB开发网   
核心提示:网络连通诊断(Netdiag.exe) 由于CW2KP对网络的支持比之前面的windows版本已经大大强化,故支持工具中,Win2k“秘密武器”之连通测试工具,对网络故障也配备有相应的诊断测试工具,这次介绍的Netdiag.exe,提供有按英文字母顺序排列的索引,并有详尽的解释,就是颇为方便实用的一个,该工具只采用命令

网络连通诊断(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 Files\Support 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 tesNetBT传送测试
  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\tools help\中,有一个叫Glossary(术语表)的文件,绝大部分术语都可以在里面找到,提供有按英文字母顺序排列的索引,并有详尽的解释,原文是英文.如果你的英文可以,不妨进去查找参考一下.

Tags:Wink 秘密 武器

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接