我想大家不会忘记Windows 是从简单的 DOS 字符界面发展过来的。虽然我们平时在 使用 Windows 操作系统的时候,主要是对图形界面进行操作,但是 DOS 命令我们仍然非 常有用,下面就让我看来看看这些命令到底有那些作用,同时学习如何使用这些命令的 技巧。 一、Ping 命令的使用技巧 Ping 是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发 送与接收)数据报。根据返回的信息,我们就可以推断TCP/IP 参数是否设置得正确以及 运行是否正常。需要注意的是:成功地与另一台主机进行一次或两次数 据报交换并不表 示TCP/IP 配置就是正确的,我们必须执行大量的本地主机与远程主机的数据报交换,才 能确信TCP/IP 的正确性。 简单的说,Ping 就是一个测试程序,如果Ping 运行正确,我们大体上就可以排除网 络访问层、网卡、MODEM 的输入输出线路、电缆和路由器等存在的故障,从而减小了问题 的范围。但由于可以自定义所发数据报的大小及无休止的高速发送,Ping 也被某些别有 用心的人作为 DDOS(拒绝服务攻击)的工具,例如许多大型的网站就是被黑客利用数百 台可以高速接入互联网的电脑连续发送大量Ping 数据报而瘫痪的。 按照缺省设置,Windows 上运行的Ping 命令发送4 个ICMP(网间控制报文协议)回 送请求,每个32 字节数据,如果一切正常,我们应能得到4 个回送应答。 Ping 能够以 毫秒为单位显示发送回送请求到返回回送应答之间的时间量。如果应答时间短,表示数 据报不必通过太多的路由器或网络连接速度比较快。Ping 还能显示 TTL(Time Live存在时间)值,我们可以通过 TTL 值推算一下数据包已经通过了多少个路由器:源地点 TTL 起始值(就是比返回TTL 略大的一个 的乘方数)-返回时TTL值。例如,返回TTL 值为119,那么可以推算数据报离开源地址的TTL 起始值为128,而源地点到目标地点要 通过9 个路由器网段(128-119);如果返回TTL 值为246,TTL 起始值就是256,源地点 到目标地点要通过9 个路由器网段。 1、通过Ping 检测网络故障的典型次序 正常情况下,当我们使用Ping 命令来查找问题所在或检验网络运行情况时,我们需 要使用许多Ping 命令,如果所有都运行正确,我们就可以相信基本的连通性和配置参数 没有问题;如果某些Ping 命令出现运行故障,它也可以指明到何处去查找问题。下面就 给出一个典型的检测次序及对应的可能故障: ping 127.0.0.1 这个 Ping 命令被送到本地计算机的 IP 软件,该命令永不退出该计算机。如果没有 做到这一点,就表示TCP/IP 的安装或运行存在某些最基本的问题。 ping 本机IP 这个命令被送到我们计算机所配置的 IP 地址,我们的计算机始终都应该对该 Ping 命令作出应答,如果没有,则表示本地配置或安装存在问题。出现此问题时,局域网用 户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示另一台 计算机可能配置了相同的IP 地址。 ping 局域网内其他IP 这个命令应该离开我们的计算机,经过网卡及网络电缆到达其他计算机,再返回。 收到回送应答表明本地网络中的网卡和载体运行正确。但如果收到 个回送应答,那么表示子网掩码(进行子网分割时,将IP 地址的网络部分与主机部分分开的代码)不正确 或网卡配置错误或电缆系统有问题。 ping 网关IP 这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。 ping 远程IP 如果收到 个应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP 的DNS 会有问题)。 ping localhost localhost 是个作系统的网络保留名,它是127.0.0.1 的别名,每太计算机都应该能 够将该 名字 转换成 该地 有做到这一 示主机文件 (http://windows.chinaitlab.com/host)中存在问题。 ping www.xxx.com(如www.it168.com) 对这个域名执行Ping www.xxx.com 地址,通常是通过DNS 服务器 如果这里出现故 障,则表示DNS 服务器的IP 地址配置不正确或DNS 服务器有故障(对于拨号上网用户, 某些ISP 已经不需要设置DNS 服务器了)。顺便说一句:我们也可以利用该命令实现域名 对IP 地址的转换功能。 如果上面所列出的所有Ping 命令都能正常运行,那么我们对自己的计算机进行本地 和远程通信的功能基本上就可以放心了。但是,这些命令的成功并不表示我们所有的网 络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。 2、Ping 命令的常用参数选项 ping IP 连续对IP地址执行Ping 命令,直到被用户以Ctrl+C 中断。 ping IP 3000指定Ping 命令中的数据长度为3000 字节,而不是缺省的32 字节。 ping IP 执行特定次数的Ping命令。 二、Netstat 命令的使用技巧 Netstat 用于显示与IP、TCP、UDP 和ICMP 协议相关的统计数据,一般用于检验本机 各端口的网络连接情况。 如果我们的计算机有时候接受到的数据报会导致出错数据删除或故障,我们不必感 到奇怪,TCP/IP 可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错 情况数目占到所接收的IP 数据报相当大的百分比,或者它的数目正迅速增加,那么我们 就应该使用Netstat 查一查为什么会出现这些情况了。 1、netstat 的一些常用选项 netstat 本选项能够按照各个协议分别显示其统计数据。如果我们的应用程序(如Web 浏览器)运行速度比较慢,或者不能显示 Web 页之类的数据,那么我们就可以用本选项 来查看一下所显示的信息。我们需要仔细查看统计数据的各行,找到出错的关键字,进 而确定问题所在。 netstat 本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据 报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。 netstat 本选项可以显示关于路由表的信息,类似于后面所讲使用route print 命令时 看到的 信息。除了显示有效路由外,还显示当前有效的连接。 netstat 本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。 netstat 显示所有已建立的有效连接。下面是 netstat 的输出示例: C:>netstat InterfaceStatistics Received Sent Bytes 3995837940 47224622 Unicast packets 120099 131015 Non-unicast packets 7579544 3823 Discards Unknownprotocols 363054211 C:>netstat ActiveConnections Proto Local Address Foreign Address State TCP CORP1:1572 172.16.48.10:nbsession ESTABLISHED TCP CORP1:1589 172.16.48.10:nbsession ESTABLISHED TCP CORP1:1606 172.16.105.245:nbsession ESTABLISHED TCP CORP1:1632 172.16.48.213:nbsession ESTABLISHED TCP CORP1:1659 172.16.48.169:nbsession ESTABLISHED TCP CORP1:1714 172.16.48.203:nbsession ESTABLISHED TCP CORP1:1719 172.16.48.36:nbsession ESTABLISHED TCP CORP1:1241 172.16.48.101:nbsession ESTABLISHED UDP CORP1:1025 UDPCORP1:snmp UDPCORP1:nbname UDPCORP1:nbdatagram UDPCORP1:nbname UDPCORP1:nbdatagram IPStatistics Packets Received 5378528Received Header Errors 738854Received Address Errors 23150Datagrams Forwarded UnknownProtocols Received ReceivedPackets Discarded ReceivedPackets Delivered 4616524Output Requests 132702Routing Discards 157Discarded Output Packets OutputPacket ReassemblyRequired ReassemblySuccessful ReassemblyFailures DatagramsSuccessfully Fragmented DatagramsFailing Fragmentation FragmentsCreated ICMPStatistics Received Sent Messages 693 DestinationUnreachable 685 TimeExceeded ParameterProblems SourceQuenches EchoReplies TimestampReplies AddressMasks AddressMask Replies TCPStatistics Active Opens 597Passive Opens 135Failed Connection Attempts 107Reset Connections 91Current Connections SegmentsReceived 106770Segments Sent 118431Segments Retransmitted 461UDP Statistics Datagrams Received 351928Receive Errors DatagramsSent 138092、Netstat 的妙用 经常上网的人一般都使用 ICQ 的,不知道我们有没有被一些讨厌的人骚扰,想 投诉却又不知从和下手?其实,我们只要知道对方的IP,就可以向他所属的ISP 投诉了。 但怎样才能通过ICQ 知道对方的IP 呢?如果对方在设置ICQ 时选择了不显示IP 地址, 那我们是无法在信息栏中看到的。其实,我们只需要通过 Netstat 就可以很方便的做到 这一点:当他通过 ICQ 或其他的工具与我们相连时(例如我们给他发一条 ICQ 信息或他 给我们发一条信息),我们立刻在DOS 命令提示符下输入netstat 就可以看到对方上网时所用的IP 或ISP 域名了,甚至连所用Port 都完全暴露了。 三、IPConfig 命令的使用技巧 IPConfig 实用程序和它的等价图形用户界面----Windows 95/98 中的WinIPCfg 可用于显示当前的 TCP/IP 配置的设置值。这些信息一般用来检验人工配置的 TCP/IP 置是否正确。但是,如果我们的计算机和所在的局域网使用了动态主机配置协议(DHCP),这个程序所显示的信息也许更加实用。这时,IPConfig 可以让我们了解自己的计算机是 否成功的租用到一个IP 地址,如果租用到则可以了解它目前分配到的是什么地址。了解 计算机当前的IP 地址、子网掩码和缺省网关实际上是进行测试和故障分析的必要项目。 1、IPConfig 最常用的选项 ipconfig 当使用IPConfig 时不带任何参数选项,那么它为每个已经配置了的接口显示IP 地址、子网掩码和缺省网关值。 ipconfig /all 当使用all 选项时,IPConfig 能为DNS 和WINS 服务器显示它已配置且所要使用 的附加信息(如IP 地址等),并且显示内置于本地网卡中的物理地址(MAC)。如果IP 址是从DHCP服务器租用的,IPConfig 将显示DHCP 服务器的IP 地址和租用地址预计失效 的日期。 ipconfig /release 和ipconfig /renew 这是两个附加选项,只能在向 DHCP 服务器租用其 IP 地址的计算机上起作用。 如果我们输入ipconfig /release,那么所有接口的租用IP 地址便重新交付给DHCP 服务 器(归还IP 地址)。如果我们输入ipconfig /renew,那么本地计算机便设法与DHCP 务器取得联系,并租用一个IP地址。请注意,大多数情况下网卡将被重新赋予和以前所 赋予的相同的IP 地址。 下面的范例是 ipconfig /all 命令输出,该计算机配置成使用 DHCP 服务器动 态配置 TCP/IP,并使用 WINS DNS服务器解析名称。 Windows 2000 IP Configuration Node Type.. HybridIP Routing Enabled.. WINSProxy Enabled.. Ethernetadapter Local Area Connection: Host Name.. corp1.microsoft.comDNS Servers 10.1.0.200Description. 3Com3C90x Ethernet Adapter Physical Address. 00-60-08-3E-46-07DHCP Enabled.. YesAutoconfiguration Enabled.: Yes IP Address. 192.168.0.112Subnet Mask. 255.255.0.0Default Gateway. 192.168.0.1DHCP Server. 10.1.0.50Primary WINS Server. 10.1.0.101Secondary WINS Server. 10.1.0.102Lease Obtained.. Wednesday,September 02, 1998 10:32:13 AM Lease Expires.. Friday,September 18, 1998 10:32:13 AM 如果我们使用的是Windows 95/98,那么我们应该更习惯使用winipcfg 而不是 ipconfig,因为它是一个图形用户界面,而且所显示的信息与ipconfig 相同,并且也提 供发布和更新动态IP 地址的选项。 四、ARP(地址转换协议)的使用技巧 ARP 是一个重要的TCP/IP 协议,并且用于确定对应IP 地址的网卡物理地址。实arp命令,我们能够查看本地计算机或另一台计算机的 ARP 高速缓存中的当前内容。 此外,使用arp 命令,也可以用人工方式输入静态的网卡物理/IP 地址对,我们可能会使 用这种方式为缺省网关和本地服务器等常用主机进行这项作,有助于减少网络上的信息 按照缺省设置,ARP高速缓存中的项目是动态的,每当发送一个指定地点的数据报且 高速缓存中不存在当前项目时,ARP 便会自动添加该项目。一旦高速缓存的项目被输入, 它们就已经开始走向失效状态。例如,在Windows NT/2000 网络中,如果输入项目后不 进一步使用,物理/IP 地址对就会在2 至10 分钟内失效。因此,如果ARP 高速缓存中项 目很少或根本没有时,请不要奇怪,通过另一台计算机或路由器的ping 命令即可添加。 所以,需要通过arp 命令查看高速缓存中的内容时,请最好先ping 此台计算机(不能是 本机发送ping 命令)。 ARP 常用命令选项: arp 参数的结果是一样的,多年来-g一直 是UNIX 平台上用来显示ARP 高速缓存中所有项目的选项,而Windows 用的是arp 可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。 arp IP如果我们有多个网卡,那么使用 arp 加上接口的IP 地址,就可以只显示与 该接口相关的ARP 缓存项目。 arp IP物理地址 我们可以向 ARP 高速缓存中人工输入一个静态项目。该项目在计算机引导过程 中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。 arp IP使用本命令能够人工删除一个静态项目。 例如我们在命令提示符下,键入 Arp –a;如果我们使用过 Ping 命令测试并 验证从这台计算机到 IP 地址为 10.0.0.99 的主机的连通性,则ARP 缓存显示以下项: Interface:10.0.0.1 interface0x1 Internet Address Physical Address Type 10.0.0.99 00-e0-98-00-7c-dc dynamic 在此例中,缓存项指出位于 10.0.0.99 的远程主机解析成 00-e0-98-00-7c-dc 的媒体访问控制地址,它是在远程计算机的网卡硬件中分配的。媒体访问控制地址是计 算机用于与网络上远程 TCP/IP 主机物理通讯的地址。 至此我们可以用ipconfig 和ping 命令来查看自己的网络配置并判断是否正确、 可以用netstat 查看别人与我们所建立的连接并找出ICQ 使用者所隐藏的IP 信息、可以 用arp 查看网卡的MAC 地址。 五、Tracert、Route 与NBTStat 的使用技巧 1、Tracert 的使用技巧 如果有网络连通性问题,可以使用 tracert 命令来检查到达的目标 IP 地址的 路径并记录结果。tracert 命令显示用于将数据包从计算机传递到目标位置的一组 IP 路由器,以及每个跃点所需的时间。如果数据包不能传递到目标,tracert 命令将显示 成功转发数据包的最后一个路由器。当数据报从我们的计算机经过多个网关传送到目的 地时,Tracert 命令可以用来跟踪数据报使用的路由(路径)。该实用程序跟踪的路径是 源计算机到目的地的一条路径,不能保证或认为数据报总遵循这个路径。如果我们的配 置使用DNS,那么我们常常会从所产生的应答中得到城市、地址和常见通信公司的名字。 Tracert 是一个运行得比较慢的命令(如果我们指定的目标地址比较远),每个路由器我 们大约需要给它15 秒钟。 Tracert 的使用很简单,只需要在 tracert 后面跟一个 IP 地址或 URL,Tracert 会进行相应的域名转换的。 tracert 最常见的用法: tracert IP address 该命令返回到达IP 地址所经过的路由器列表。通 过使用 选项,将更快地显示路由器路径,因为tracert 不会尝试解析路径中路由器 的名称。 Tracert 一般用来检测故障的位置,我们可以用 tracert IP 在哪个环节上出了 问题,虽然还是没有确定是什么问题,但它已经告诉了我们问题所在的地方,我们也就 可以很有把握的告诉别人----某某地方出了问题。 2、Route 的使用技巧 大多数主机一般都是驻留在只连接一台路由器的网段上。由于只有一台路由器, 因此不存在使用哪一台路由器将数据报发表到远程计算机上去的问题,该路由器的IP 址可作为该网段上所有计算机的缺省网关来输入。但是,当网络上拥有两个或多个路由器时,我们就不一定想只依赖缺省网关了。 实际上我们可能想让我们的某些远程IP 地址通过某个特定的路由器来传递,而其他的远 程IP 则通过另一个路由器来传递。 在这种情况下,我们需要相应的路由信息,这些信息储存在路由表中,每个主 机和每个路由器都配有自己独一无二的路由表。大多数路由器使用专门的路由协议来交 换和动态更新路由器之间的路由表。但在有些情况下,必须人工将项目添加到路由器和 主机上的路由表中。Route 就是用来显示、人工添加和修改路由表项目的。 一般使用选项: route print 本命令用于显示路由表中的当前项目,在单路由器网段上的输出;由于用IP 址配置了网卡,因此所有的这些项目都是自动添加的。route add 使用本命令,可以将信路由项目添加给路由表。例如,如果要设定一个到目的 网络209.98.32.33 的路由,其间要经过5 个路由器网段,首先要经过本地网络上的一个 路由器,器IP 为202.96.123.5,子网掩码为255.255.255.224,那么我们应该输入以下 命令: route add 209.98.32.33 mask 255.255.255.224 202.96.123.5 metric routechange 我们可以使用本命令来修改数据的传输路由,不过,我们不能使用本命令来改 变数据的目的地。下面这个例子可以将数据的路由改到另一个路由器,它采用一条包含3 个网段的更直的路径: route add 209.98.32.33 mask 255.255.255.224 202.96.123.250 metric routedelete 使用本命令可以从路由表中删除路由。例如:route delete 209.98.32.33 3、NBTStat 的使用技巧 使用 nbtstat 命令释放和刷新 NetBIOS 名称。NBTStat(TCP/IP 上的NetBIOS 统计数据)实用程序用于提供关于关于NetBIOS 的统计数据。运用NetBIOS,我们可以查 看本地计算机或远程计算机上的NetBIOS 名字表格。 常用选项: nbtstat 显示寄存在本地的名字和服务程序。