一、Ping 相信玩过网络的人都会对“Ping”这个命令有所了解或耳闻。Ping命令是 Windows9X/NT中集成的一个专用于TCP/IP协议的测试工具,ping命令是用于查看网络上 的主机是否在工作,它是通过向该主机发送ICMPECHO_REQUEST包进行测试而达到目的 的。一般凡是应用TCP/IP协议的局域或广域网络,不管你是内部只有几台电脑的家庭、 公室局域网,还是校园网、企业网甚至Internet国际互联网络,当客户端与客户端之 间无法正常进行访问或者网络工作出现各种不稳定的情况时,建议大家一定要先试试用 Ping这个命令来测试一下网络的通信是否正常,多数时候是可以一次奏效的。 1.Ping命令的语法格式 ping命令看似小小的一个工具,但它带有许多参数,要完全掌握它的使用方法还真 不容易,要达到熟练使用则更是难下加难,但不管怎样我们还得来看看它的真面目,首 先我们还是从最基本的命令格式入手吧! ping命令的完整格式如下: ping[-t][-a][-ncount][-llength][-f][-ittl][-vtos][-rcount][-scount][[-j-Hostlist]|[-kHost-list]][-wtimeout]destination-list 从这个命令式中可以看出它的复杂程度,ping命令本身后面都是它的执行参数,现 对其参数作一下详细讲解吧! -t——有这个参数时,当你ping一个主机时系统就不停的运行ping这个命令,直 到你按下Control-C。 -a——解析主机的NETBIOS主机名,如果你想知道你所ping的要机计算机名则要加 上这个参数了,一般是在运用ping命令后的第一行就显示出来。 -ncount——定义用来测试所发出的测试包的个数,缺省值为4。通过这个命令可 以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送20个数据包的返 回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过执行带有这个参数 的命令获知。 -llength——定义所发送缓冲区的数据包的大小,在默认的情况下windows的ping 发送的数据包大小为32byt,也可以自己定义,但有一个限制,就是最大只能发送 65500byt,超过这个数时,对方就很有可能因接收的数据包太大而死机,所以微软公司 为了解决这一安全漏洞于是限制了ping的数据包大小。 -f——在数据包中发送“不要分段”标志,一般你所发送的数据包都会通过路由 分段再发送给对方,加上此参数以后路由就不会再分段处理。 -ittl——指定TTL值在对方的系统里停留的时间,此参数同样是帮助你检查网络 运转情况的。 -vtos——将“服务类型”字段设置为“tos”指定的值。 -rcount——在“记录路由”字段中记录传出和返回数据包的路由。一般情况下 你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此 参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪 到9个路由。 -scount——指定“count”指定的跃点数的时间戳,此参数和-r差不多,只是这 个参数不记录数据包返回所经过的路由,最多也只记录4个。 -jhost-list——利用“computer-list”指定的计算机列表路由数据包。连续 计算机可以被中间网关分隔IP允许的最大数量为9。 -khost-list——利用“computer-list”指定的计算机列表路由数据包。连续 计算机不能被中间网关分隔IP允许的最大数量为9。 -wtimeout——指定超时间隔,单位为毫秒。 destination-list——是指要测试的主机名或IP地址 2.Ping命令的应用 (1)、测试网络的通畅 我们知道可以用ping命令来测试一下网络是否通畅,这在局域网的维护中经常用到, 方法很简单,只需要在DOS或Windows的开始菜单下的“运行”子项中用ping命令加上所 要测试的目标计算机的IP地址或主机名即可(目标计算机要与你所运行ping命令的计算 机在同一网络或通过电话线或其它专线方式已连接成一个网络),其它参数可全不加。 如要测试台IP地址为196.168.1.21的工作站与服务器是否已连网成功,就可以在服务器 上运行:ping-a196.`68.123.56即可,如果工作站上TCP/IP协议工作正常,即会以 DOS屏幕方式显示如下所示的信息: Pingingcindy[196.168.1.21]with32bytesofdata: Replyfrom196.168.1.21:bytes=32time<10msTTL=254 Replyfrom196.168.1.21:bytes=32time<10msTTL=254 Replyfrom196.168.1.21:bytes=32time<10msTTL=254 Replyfrom196.168.1.21:bytes=32time<10msTTL=254 Pingstatisticsfor196.168.1.21: Packets:Sent=4,Received=4,Lost=0(0%loss),Approximateround triptimesinmilli-seconds: Minimum=0ms,Maximum=0ms,Average=0ms 从上面我们就可以看出目标计算机与服务器连接成功,TCP/IP协议工作正常,因为 加了“-a”这个参数所以还可以知道IP为196.168.1.21的计算机的NetBIOS名为cindy。 如果网络未连成功则显示如下错误信息: Pinging[196.168.1.21]with32bytesofdata Requesttimedout. Requesttimedout. Requesttimedout. Requesttimedout. Pingstatisticefor196.168.1.21: PacketsTongueTiedent=4,Received=0,Lost=4(100%loss), Approximateroundtriptimesinmilli-seconds Minimum=0ms,Maximum=0ms,Average=0ms 为什么不管网络是否连通在提示信息中都会有重复四次一样的信息呢(如上的 “Replyfrom196.168.1.21:bytes=32time<10msTTL=254”和“Requesttimed out”),那是因为一般系统默认每次用ping测试时是发送四个数据包,这些提示就是 告诉你所发送的四个数据包的发送情况。 出现以上错误提示的情况时,就要仔细分析一下网络故障出现的原因和可能有问题 的网上结点了,一般首先不要急着检查物理线路,先从以下几个方面来着手检查:一是 看一下被测试计算机是否已安装了TCP/IP协议;二是检查一下被测试计算机的网卡安装 是否正确且是否已经连通;三是看一下被测试计算机的TCP/IP协议是否与网卡有效的绑 定(具体方法是通过选择“开始→设置→控制面板→网络”来查看);四是检查一下 WindowsNT服务器的网络服务功能是否已启动(可通过选择“开始→设置→控制面板→ 服务”,在出现的对话框中找到“Server”一项,看“状态”下所显示的是否为“已启 动”)。如果通过以上四个步骤的检查还没有发现问题的症结,这时再查物理连接了, 我们可以借助查看目标计算机所接HUB或交换机端口的批示灯状态来判断目标计算机现 网络的连通情况。 (2)、获取计算机的IP地址 利用ping这个工具我们可以获取对方计算机的IP地址,特别是在局域网中,我们经 常是利用NT或WIN2K的DHCP动态IP地址服务自动为各工作站分配动态IP地址,这时当然 我们要知道所要测试的计算机的NETBIOS名,也即我们通常在“网络邻居”中看到的 “计算机名”。使用ping命令时我们只要用ping命令加上目标计算机名即可,如果网络 连接正常,则会显示所ping的这台机的动态IP地址。其实我们完全可以在互联网使用, 以获取对方的动态IP地址,这一点对于黑客来说是比较有用的,当然首先的一点就是你 先要知道对方的计算机名。 (3)、上述应用技巧其实重点是Ping命令在局域网中的应用,其实Ping命令不仅在 局域网中广泛使用,在Internet互联网中也经常使用它来探测网络的远程连接情况。平 时,当我们遇到以下两种情况时,需要利用Ping工具对网络的连通性进行测试。比如当 某一网站的网页无法访问时,可使用Ping命令进行检测。另外,我们在发送E-mail之前 也可以先测试一下网络的连通性。许多因特网用户在发送E-mail后经常收到诸如 “Returnedmail:Userunknown”的信息,这说明您的邮件未发送到目的地。为了避免 此类事件再次发生,所以建议大家在发送E-mail之前先养成Ping对方邮件服务器地址 的习惯。例如,当您给163网站邮件用户发邮件时,可先键入“ping163.com”(其实 163.com就是网易的其中一台服务器名)进行测试,如果返回类似于“BadIPaddress 163.com”或“Requesttimesout”或“Unknowhost163.com”等的信息,说明对方 邮件服务器的主机未打开或网络未连通。这时即使将邮件发出去,对方也无法收到。 二、Ipconfig/Winipcfg 与Ping命有所区别,利用Ipconfig和Winipcfg工具可以查看和修改网络中的 TCP/IP协议的有关配置,如IP地址、网关、子网掩码等。这两个工具在Windows95/98 中都能使用,功能基本相同,只是Ipconfig是以DOS的字符形式显示,而Winipcfg则 用图形界面显示,也就是其实两个工具是一个工具,只不过一个是DOS下的版本,另一 个为WINDWOS下的版本,但要注意,在WindowsNT中只能运行于DOS方式下的Ipconfig工 具。 1.Ipconfig命令的语法格式 Ipconfig[/all][/batchfile][/renewall][/releaseall][/renewn][/release n] all——显示与TCP/IP协议相关的所有细节信息,其中包括测试的主机名、IP地 址、子网掩码、节点类型、是否启用IP路由、网卡的物理地址、默认网关等。 Batchfile——将测试的结果存入指定的“file“文件名中,以便于逐项查看,如 果省略file文件名,则系统会把这测试的结果保存在系统的“winipcfg.out”文件中。 renewall——更新全部适配器的通信配置情况,所有测试重新开始。 releaseall——释放全部适配器的通信配置情况, renewn——更新第n号适配器的通信配置情况,所有测试重新开始。 releasen——释放第n号适配器的通信配置情况, 2.Winipcfg命令 Winipcfg工具的功能与Ipconfig基本相同,只是Winipcfg是以图形界面的方式显 示,如图1所示。在操作上更加方便,同时能够以WINDOWS的32位图形界面方式显示。当 用户需要查看任何一台机器上TCP/IP协议的配置情况时,只需在Windows95/98上选择 “开始→运行”,在出现的对话框中输入命令“winipcfg”,将出现测试结果。单击 “详细信息”按钮,在随后出现的对话框中可以查看和改变TCP/IP的有关配置参灵敏, 当一台机器上安装有多个网卡时,可以查找到每个网卡的物理地址和有关协议的绑定情 况,这在某些时候对我们是特别有用的。如果要获取的信息,可单击图中的“详细 信息”按钮,在出现的对话框中可以相看到比较全面的信息。 3、ipconfig/winipcfg的应用 上面我讲了一下这两姊妹TCP/IP测试工具的一些用法,下面我就来谈她们的一些用 途。 (1)、查找目标主机的IP地址及其它有关TCP/IP协议的信息,方法如下:按「开 始」菜单执行「运行」菜单项,输入winipcfg,就会出现一个IP组态窗口,这里会 显示有关于你目前网络IP的一些详细设置数据。或者,你也可以在MS-DOS模式下, 输入ipconfig,也是一样可以显示详细的IP信息,只不过此画面是在DOS下而已。 (2)、ipconfig/winipcfg应该说是一款网络侦察的利器,尤其当用户的网络中设置 的是DHCP(动态IP地址配置协议)时,利用Ipconfig/winipcfg可以让用户很方便地了 解到所用IPconfig/winipcfg机的IP地址的实际配置情况。因为它有一个“/all”这个 参数,所以它可侦查到本机上所有网络适配的IP地址分配情况,比ping命令更为详细。 如果我们在机房winda客户端上运行“Ipconfig/all/batchwinda.txt”后,打开 winda.txt文件,将显示如下所示的内容,非常详细地显示了所有与TCP/IP协议有关的 配置情况。当然与ping相比也有它的不足之处就是它只能在本机上测试,不能运用网 络功能来测试。 三、Netstat 与上述几个网络检测软件类似,Netstat命令也是可以运行于Windows95/98/NT的 DOS提示符下的工具,利用该工具可以显示有关统计信息和当前TCP/IP网络连接的情 ,用户或网络管理人员可以得到非常详尽的统计结果。当网络中没有安装特殊的网管 软件,但要对整个网络的使用状况作个详细地了解时,就是Netstat大显身手的时候 了。 它可以用来获得你的系统网络连接的信息(使用的端口和在使用的协议等),收到 和发出的数据,被连接的远程系统的端口等。 1、Netstat命令的语法格式 Nbtstat格式:netstat[-a][-e][-n][-s][-pprotocol][-r][interval] 参数解释如下: -a——用来显示在本地机上的外部连接,它也显示我们远程所连接的系统,本地和 远程系统连接时使用和开放的端口,以及本地和远程系统连接的状态。这个参数通常用 于获得你的本地系统开放的端口,用它您可以自己检查你的系统上有没有被安装木马, 如果您在你的机器上运行Netstat的话,如发现诸如:Port12345(TCP)Netbus、Port 31337(UDP)BackOrifice之类的信息,则你的机器上就很有可能感染了木马。 -n——这个参数基本上是-a参数的数字形式,它是用数字的形式显示以上信息,这 个参数通常用于检查自己的IP时使用,也有些人使用他是因为更喜欢用数字的形式来显 示主机名。 -e——显示静态太网统计,该参数可以与-s选项结合使用。 -pprotocol——用来显示特定的协议配置信息,它的格式为:Netstat-p***, ***可以是UDP、IP、ICMP或TCP,如要显示机器上的TCP协议配置情况则我们可以用: Netstat-ptcp。 -s——显示机器的缺省情况下每个协议的配置统计,缺省情况下包括TCP、IP、 UDP、ICMP等协议。 -r——用来显示路由分配表。 interval——每隔“interval”秒重复显示所选协议的配置情况,直到按 “CTRL+C”中断。 2、netstat的应用 从以上各参数的功能我们可以看出netstat工具至少有以下向方面的应用: (1)、显示本地或与之相连的远程机器的连接状态,包括TCP、IP、UDP、ICMP协议 的使用情况,了解本地机开放的端口情况; (2)、检查网络接口是否已正确安装,如果在用netstat这个命令后仍不能显示某些 网络接口的信息,则说明这个网络接口没有正确连接,需要重新查找原因。 (3)、通过加入“-r”参数查询与本机相连的路由器地址分配情况; (4)、还可以检查一些常见的木马等黑客程序,因为任何黑客程序都需要通过打开 一个端口来达到与其服务器进行通信的目的,不过这首先要使你的这台机连入互联网才 行,不然这些端口是不可能打开的,而且这些黑客程序也不会起到入侵的本来目的。 四、nbtstat NBTSTAT命令:用于查看当前基于NETBIOS的TCP/IP连接状态,通过该工具你可以获 得远程或本地机器的组名和机器名。虽然用户使用ipconfig/winipcfg工具可以准确地 得到主机的网卡地址,但对于一个已建成的比较大型的局域网,要去每台机器上进行这 样的操作就显得过于费事了。网管人员通过在自己上网的机器上使用DOS命令nbtstat, 可以获取另一台上网主机的网卡地址。我们还是先来看看它的语法格式吧: NBTSTAT[[-aRemoteName][-AIPaddress][-c][-n][-r][-R][-RR][-s][-S][interval]] 参数说明: -aRemotename——说明使用远程计算机的名称列出其名称表,此参数可以通过远 程计算机的NetBios名来查看他的当前状态。 -AIPaddress——说明使用远程计算机的IP地址并列出名称表,这个和-a不同 的是就是这个只能使用IP,其实-a就包括了-A的功能了。 -c——列出远程计算机的NetBIOS名称的缓存和每个名称的IP地址这个参数就 是用来列出在你的NetBIOS里缓存的你连接过的计算机的IP。 -n——列出本地机的NetBIOS名称,此参数与上面所介绍的一个工具软件 “netstat”中加“-a”参数功能类似,只是这个是检查本地的,如果把netstat-a后 面的IP换为自己的就和nbtstat-n的效果是一样的了。 -r——列出Windows网络名称解析的名称解析统计。在配置使用WINS的 Windows2000计算机上,此选项返回要通过广播或WINS来解析和注册的名称数。 -R——清除NetBIOS名称缓存中的所有名称后,重新装入Lmhosts文件,这个参 数就是清除nbtstat-c所能看见的缓存里的IP。 -S——在客户端和服务器会话表中只显示远程计算机的IP地址。 -s——显示客户端和服务器会话,并将远程计算机IP地址转换成NETBIOS名称。 此参数和-S差不多,只是这个会把对方的NetBIOS名给解析出来。 -RR——释放在WINS服务器上注册的NetBIOS名称,然后刷新它们的注册。 interval——每隔interval秒重新显示所选的统计,直到按“CTRL+C”键停止重 新显示统计。如果省略该参数,nbtstat将打印一次当前的配置信息。此参数和 netstat的一样,nbtstat中的“interval”参数是配合-s和-S一起使用的。