找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 616|回复: 1

新网管的三板斧

[复制链接]
发表于 2005-4-1 12:50:28 | 显示全部楼层 |阅读模式
——排查网络问题的常用命令


  各位想必经常遇到诸如“无法找到服务器”、“无法打开搜索页”、“该页无法显示”等错误,除了网络硬件问题之外,使用操作系统自带的命令去排查问题是我们最快捷的方法。除了我们熟知的Ping这个命令外,熟练使用本文中提到的其它命令就可以大致找出这些常见的故障原因。

  各位首先要回忆一下OSI(开放系统互连的参考模型Open System Interconnection - Reference Model)的七层模型,我们排除问题也是遵循从底层开始的。从“物理层”开始是我们解决问题的关键,当你保证了网卡和IP地址设置没有问题的时候,排错的工作也许刚刚开始。

  “路由”信息的验证

  例如:某个子网内的计算机无法Ping通要访问的服务器,而这时又能保证处于不同子网的计算机可以Ping通我们要访问的服务器,我们有理由相信问题出在路由上。

  1. 验证本地路由表

  使用 TCP/IP 作为网络协议的任何计算机都有一个路由表。 网络数据包从一台使用 TCP/IP 的计算机到另一台使用 TCP/IP 的计算机传输时,所采取的路由是由发送网络数据包的计算机的路由表确定的,在每次重新启动计算机后,计算机的路由表都会自动重建。命令行下键入 Route PRINT命令后应该得到本地网络的正确路由表信息,每次路由表被重建时,这些永久项都会被自动重新插入到路由表当中。在我们无法确定是否能够正确访问到“默认网关”的时候,可以使用Route ADD命令增加到默认网关的路由信息。

  2. Tracert 命令查找出现问题的节点

  Tracert 命令能够报告 TCP/IP 数据包在发送到另一台主机时所经过的每台路由器和网关。 可以说 Tracert 命令是我经常使用的命令,我用这个命令来查找无法访问到某个计算机的原因是否出现在我的管辖范围内。当我们输入Tracert 后出现下面的显示:

  Tracing route to over a maximum of 30 hops:

  1 <10 ms <10 ms <10 ms <10.10.0.1>

  2 50 ms 50 ms 51 ms <10.2.1.1>

  3 <192.168.1.254> reports: Destination net unreachable.

  而我所管理的网络中最后离开的路由设备的IP是192.168.1.254,这样就可以马上就肯定IP地址为192.168.1.254的这台路由器出现了问题,导致了数据包无法正确到达。

  网络服务的验证

  当你可以正常Ping 到想要访问主机IP的时候,还是无法正常访问到服务界面。我们就要从本机或其它网络服务找问题了。

  1. Netstat 与Telnet配合使用

  例如,如果我需要用 Http访问连接192.168.0.1服务器,我们就要确认该台计算机已被配置为 Web 服务器。 从服务器的角度出发我们可以利用Netstat命令查看我们开启的服务端口。当从Netstat 命令中查找到80端口处于监听状态后,应该尝试从与该台计算机同处一个子网的另一台计算机利用Telnet这个命令连接它。 比如用Telnet 192.168.0.1 80 连接这台服务器的80端口,正确连接后进入空白的命令行端口,如果服务器没有进行过安全加固就会显示提供服务的软件的版本信息。

   如果从另外的子网中可以Telnet到这台服务器,而利用Telnet的命令,显示“不能打开到主机的连接, 在端口 80: 连接失败”,你就应该去检查网络设备中的访问控制策略(ACL)。从而保证这两个命令能得到正确回显(如图1)。

  2. 无法连接指定的主机名或 NetBIOS 名

  如果你能使用 IP 地址连接到其它计算机,但不能使用那台计算机的主机名或 NetBIOS 名连接到那台计算机,表明可能存在名称解析问题。 在网络上,有很多种方法可以完成名称解析的任务,包括:

  · Hosts 文件

  · 域名服务 (DNS)

  · LMHosts 文件

  · Windows Internet 名称服务 (WINS)

  排除这样的问题请按顺序遵循以下各部分中给出的过程,并且保证完成每步的过程之后,都要检查使用主机名或 NetBIOS 名能否连接到其它计算机。

  (1)检查 Hosts 文件

  Hosts 文件是文本文件,你可以用任意文本编辑器(如“记事本”程序)进行编辑。 如果网络使用 Hosts 文件进行主机名称解析,而使用主机名无法连接到其它计算机,那么表明在 Hosts 文件中可能存在无效项。 在 Hosts 文件中搜索其它计算机的主机名,验证每个主机名只对应一项,然后验证该台计算机主机名对应的项是有效的。

  有关 Hosts 文件的详细信息,请参见 %SystemRoot%\\System32\\Drivers\\Etc 文件夹下的 Hosts 示例文件(如图2)。许多蠕虫病毒会更改这个文件导致防病毒软件无法进行更新,我们可也找到另外一台主机的Hosts文件覆盖这个损坏的文件就可以暂时解决问题。

  (2)检查域名服务 (DNS) 配置

  域名服务 (DNS) 服务器提供了主机名称解析。 如果你的网络用 DNS 作为主机名称解析方法,而用主机名无法连接其它计算机,表明你的计算机 DNS 配置或网络上的 DNS 服务器可能存在某些问题。

  为了排除DNS的问题可以遵循以下步骤:

  * 在命令提示符下键入 Ipconfig /all,以显示 DNS 服务器的 IP 地址。 如果 DNS 服务器的 IP 地址没有显示出来,我们应该检查DHCP服务器的配置或者手工指定的网络配置是否错误,以获取 DNS 服务器的 IP 地址。

  * 通过Ping连接 DNS 服务器 IP 地址,验证你是否能够与 DNS 服务器通讯。

  * 利用Nslookup命令验证DNS服务器能否解析的功能。例如我们访问中国电脑教育报网站,如果DNS服务器正常工作,执行Nslookup www.cce.com.cn 后就应该显示出正确德IP地址(如图3)。反之,如果显示“DNS request timed out”就表示服务器无法提供域名到IP地址的解析功能

  (3)检查 LMHosts 文件

  由于现在的装有Windows2000/xp的客户端大多采用DNS来解析,LMHosts已经成为历史,所以这里我也就把它的详细信息略去了。如果各位有兴趣的话还是可以从%SystemRoot%\\System32\\Drivers\\Etc文件夹下找到它。

  (4)检查 Windows Internet 名称服务(WINS)

  虽然上面刚刚提到了我们的网络中已经大多为Windows 2000/XP的客户端,但是也不能排除那些“老”机器的影响,而WINS服务器正是为这些客户端提供NetBIOS 名称解析。为了排除问题各位请参考排除DNS的问题的前两步,如果问题还没有解决就需要到服务端去验证WINS服务是否工作正常。

  

  上面提到的命令非常简单,这也只是排除网络问题中很少的一部分。估计各位网管员也都有同感,作为一位网管,只有在实际工作中磨练才能不断成长,也只有在工作中不断用心思考和自主学习,才能有机会成为自己所期望的网络高手。

  
回复

使用道具 举报

发表于 2005-4-1 13:46:40 | 显示全部楼层
好文章,建议加分,同时补充说两句。对于route命令,如果想添加静态路由可用 -p参数。
tracert的作用之大毋庸质疑,和pathping类似,但是单个节点的返回信息更详细。唯一的缺憾是在做了icmp过滤的情况下失去了作用,似乎没有办法,从原理上看必须采用其他的鉴定方式,不知glass兄对此这种状况有没有什么心得。

同时对于局域网内部还比较有用的命令有nbtstat和arp,有兴趣的朋友可以试试,非常喜欢glass兄的这个帖子,所以顶起。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-12-28 19:37 , Processed in 0.110714 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表