网络工程师必须掌握的几个诊断命令,掌握简单有效的网络诊断命令来判断故障点的话,效率会事半功倍。
ping命令
ping是个使用频率极高的实用程序,主要用于确定网络的连通性。这对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping就是一个测试程序,如果ping运行正确,大体上就可以排除网络访问层、网卡、Modem的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。
ping能够以毫秒为单位显示发送请求到返回应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络,连接速度比较快。ping还能显示TTL(Time To Live,生存时间)值,通过TTL值可以推算数据包通过了多少个路由器。
(1) 命令格式
ping 主机名
ping 域名
ping IP地址
(2) ping命令的基本应用
一般情况下,用户可以通过使用一系列ping命令来查找问题出在什么地方,或检验网络运行的情况。
下面就给出一个典型的检测次序及对应的可能故障:
① ping 127.0.0.1
如果测试成功,表明网卡、TCP/IP协议的安装、IP地址、子网掩码的设置正常。如果测试不成功,就表示TCP/IP的安装或设置存在有问题。
② ping 本机IP地址
如果测试不成功,则表示本地配置或安装存在问题,应当对网络设备和通讯介质进行测试、检查并排除。
③ ping局域网内其他IP
如果测试成功,表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码不正确或网卡配置错误或电缆系统有问题。
④ ping 网关IP
这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够做出应答。
⑤ ping 远程IP
如果收到正确应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS会有问题)。
⑥ ping localhost
local host是系统的网络保留名,它是127.0.0.1的别名,每台计算机都应该能够将该名字转换成该地址。否则,则表示主机文件(/Windows/host)中存在问题。
⑦ pingwww.yahoo.com(一个著名网站域名)
对此域名执行Ping命令,计算机必须先将域名转换成IP地址,通常是通过DNS服务器。如果这里出现故障,则表示本机DNS服务器的IP地址配置不正确,或它所访问的DNS服务器有故障
如果上面所列出的所有ping命令都能正常运行,那么计算机进行本地和远程通信基本上就没有问题了。但是,这些命令的成功并不表示你所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。
(3)ping命令的常用参数选项
ping IP -t:连续对IP地址执行ping命令,直到被用户以Ctrl+C中断。
ping IP -l 2000:指定ping命令中的特定数据长度(此处为2000字节),而不是缺省的32字节。
ping IP -n 20:执行特定次数(此处是20)的ping命令。
注意:随着防火墙功能在网络中的广泛使用,当你ping其他主机或其他主机ping你的主机时,而显示主机不可达的时候,不要草率地下结论。最好与对某台“设置良好”主机的ping结果进行对比。
ipconfig命令
ipconfig实用程序可用于显示当前的TCP/IP配置的设置值。这些信息一般用来检验人工配置的TCP/IP设置是否正确。
而且,如果计算机和所在的局域网使用了动态主机配置协议DHCP,使用ipconfig命令可以了解到你的计算机是否成功地租用到了一个IP地址,如果已经租用到,则可以了解它目前得到的是什么地址,包括IP地址、子网掩码和缺省网关等网络配置信息。
下面给出最常用的选项:
(1)ipconfig:当使用不带任何参数选项ipconfig命令时,显示每个已经配置了的接口的IP地址、子网掩码和缺省网关值。
(2)ipconfig /all:当使用all选项时,ipconfig能为DNS和WINS服务器显示它已配置且所有使用的附加信息,并且能够显示内置于本地网卡中的物理地址(MAC)。如果IP地址是从DHCP服务器租用的,ipconfig将显示DHCP服务器分配的IP地址和租用地址预计失效的日期。图为运行ipconfig /all命令的结果窗口。
(3)ipconfig /release和ipconfig /renew:这两个附加选项,只能在向DHCP服务器租用IP地址的计算机使用。如果输入ipconfig /release,那么所有接口的租用IP地址便重新交付给DHCP服务器(归还IP地址)。如果用户输入ipconfig /renew,那么本地计算机便设法与DHCP服务器取得联系,并租用一个IP地址。大多数情况下网卡将被重新赋予和以前所赋予的相同的IP地址。
arp命令(地址转换协议)
ARP是TCP/IP协议族中的一个重要协议,用于确定对应IP地址的网卡物理地址。
使用arp命令,能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容。此外,使用arp命令可以人工方式设置静态的网卡物理地址/IP地址对,使用这种方式可以为缺省网关和本地服务器等常用主机进行本地静态配置,这有助于减少网络上的信息量。
按照缺省设置,ARP高速缓存中的项目是动态的,每当向指定地点发送数据并且此时高速缓存中不存在当前项目时,ARP便会自动添加该项目。
常用命令选项:
① arp–a:用于查看高速缓存中的所有项目。
② arp-a IP:如果有多个网卡,那么使用arp -a加上接口的IP地址,就可以只显示与该接口相关的ARP缓存项目。
③ arp-s IP 物理地址:向ARP高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。
④ arp-d IP:使用本命令能够人工删除一个静态项目。
traceroute命令
掌握使用traceroute命令测量路由情况的技能,即用来显示数据包到达目的主机所经过的路径。
traceroute命令的基本用法是,在命令提示符后键入“tracert host_name”或“tracert ip_address”,其中,tracert是traceroute在Windows操作系统上的称呼。
route命令
大多数主机一般都是驻留在只连接一台路由器的网段上。由于只有一台路由器,因此不存在选择使用哪一台路由器将数据包发送到远程计算机上去的问题,该路由器的IP地址可作为该网段上所有计算机的缺省网关。
但是,当网络上拥有两个或多个路由器时,用户就不一定想只依赖缺省网关了。实际上可能想让某些远程IP地址通过某个特定的路由器来传递,而其他的远程IP则通过另一个路由器来传递。在这种情况下,用户需要相应的路由信息,这些信息储存在路由表中,每个主机和每个路由器都配有自己独一无二的路由表。大多数路由器使用专门的路由协议来交换和动态更新路由器之间的路由表。但在有些情况下,必须人工将项目添加到路由器和主机上的路由表中。route命令就是用来显示、人工添加和修改路由表项目的。该命令可使用如下选项:
(1)routeprint:本命令用于显示路由表中的当前项目,在单个路由器网段上的输出结果
(2)routeadd:使用本命令,可以将路由项目添加给路由表。
例如,如果要设定一个到目的网络209.99.32.33的路由,其间要经过5个路由器网段,首先要经过本地网络上的一个路由器IP为202.96.123.5,子网掩码为255.255.255.224,那么用户应该输入以下命令:
route add 209.99.32.33 mask255.255.255.224202.96.123.5 metric 5
(3)routechange:可以使用本命令来修改数据的传输路由,不过,用户不能使用本命令来改变数据的目的地。下面这个例子将上例路由改变采用一条包含3个网段的路径:
route add 209.99.32.33 mask255.255.255.224202.96.123.250 metric 3
(4)routedelete 使用本命令可以从路由表中删除路由。例如:route delete 209.99.32.33
nslookup命令
命令nslookup的功能是查询任何一台机器的IP地址和其对应的域名。它通常需要一台域名服务器来提供域名。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。
(1)在本地机上使用nslookup命令查看本机的IP及域名服务器地址。
直接键入命令,系统返回本机的服务器名称(带域名的全称)和IP地址,并进入以“>”为提示符的操作命令行状态;键入“?”可查询详细命令参数;若要退出,需键入exit。
(2)查看www.haut.edu.cn的IP。在提示符后输入要查询的IP地址或域名并回车即可。
nbtstat命令
使用nbtstat命令可以查看计算机上网络配置的一些信息。使用这条命令还可以查找出别人计算机上一些私人信息。如果想查看自己计算机上的网络信息,可以运行nbtstat -n,可以得到你所在的工作组,计算机名以及网卡地址等等;想查看网络上其他的电脑情况,就,运行nbtstat -a *.*.*.*,此处的*.*.*.*用IP地址代替就会返回得到那台主机上的一些信息。
netstat命令
学习使用netstat命令,以了解网络当前的状态。
netstat命令能够显示活动的TCP连接、计算机侦听的端口、以太网统计信息、IP路由表、IPv4统计信息(对于IP、ICMP、TCP和UDP协议)以及IPv6统计信息(对于IPv6、ICMPv6、通过IPv6的TCP以及UDP协议)。使用时如果不带参数,netstat显示活动的TCP连接。
下面给出netstat的一些常用选项:
① netstat–a:-a选项显示所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。
② netstat –n:以点分十进制的形式列出IP地址,而不是象征性的主机名和网络名。
③ netstat-e:-e选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据包的总字节数、错误数、删除数、数据包的数量和广播的数量。这些统计数据既有发送的数据包数量,也有接收的数据包数量。使用这个选项可以统计一些基本的网络流量。
④ netstat-r:-r选项可以显示关于路由表的信息,类似于route print命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。
⑤ netstat -s:-s选项能够按照各个协议分别显示其统计数据。这样就可以看到当前计算机在网络上存在哪些连接,以及数据包发送和接收的详细情况等等。如果应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么可以用本选项来查看一下所显示的信息。仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在