5

Mercury 水星 网络检测与诊断

 3 years ago
source link: https://service.mercurycom.com.cn/article-795.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

网络检测与诊断

一、诊断方法

为了降低设计的复杂性,增强通用性和兼容性,计算机网络都设计成层次结构。网络的层次结构为我们分析和排查故障提供了非常好的组织方式。由于各层相对独立,按层次排查能够有效地发现和隔离故障。

通常有两种逐层排查方式,一种是从低层开始排查,适用于物理网络不够成熟稳定的情况,如组建新的网络、重新调整网络线缆、增加新的网络设备;另一种是从高层开始排查,适用于物理网络相对成熟稳定的情况,如硬件设备没有变动。无论哪种方式,最终都能达到目标,只是解决问题的效率有所差别。

具体采用哪种方式,可根据实际情况来选择。例如,遇到某客户端不能访问Web服务的情况,如果管理员首先去检查网络的连接线缆,就显得太悲观了,除非明确知道网络线路有所变动。比较好的选择是直接从应用层着手,可以这样来排查:首先检查客户端Web浏览器是否配置正确,有无设置代理,主机DNS是否设置正确等,可尝试使用浏览器去访问另一个Web服务器;如果浏览器没有问题,再测试网络的连通性。对这种问题,如果从底层开始逐层排查也能最终解决问题,只是花费的时间太多了。如果碰巧是线路问题,从高层开始逐层排查也要浪费时间。

在实际应用中往往都采用一种折中的方式,凡是涉及到网络通信的应用出了问题,直接从位于中间的网络层开始排查,首先测试网络连通性,如果网络不能连通,再从物理层(测试线路)开始排查;如果网络能够连通,再从应用层(测试应用程序本身)开始排查。

在TCP/IP网络中,排查问题的第一步常常是使用ping命令。如果成功地ping到远程主机,就排除了网络连接出现故障的可能性。即使是使用ping命令,也有一个逐步检测判断的步骤。例如,假设有一个如下图所示的网络:

这里要测试网络能否正常通信。通常从ping远程主机开始(例如在主机A上ping主机B),成功说明系统和网络正常,失败说明主机离线或者网络故障或者主机B禁止ping操作。失败后再ping路由器出口地址(例中为路由器WAN口地址)来确认主机A是否能够通过路由器。失败后再ping同一子网的网关(例中为路由器的LAN口地址)来确认主机A是否能够连接到路由器。失败后再ping网卡地址来确认网卡是否工作正常。失败后再ping本地环回地址127.0.0.1来确认TCP/IP协议软件是否存在问题,如果有问题,需要重新安装TCP/IP协议栈。这里也可以采用另外一种步骤,从ping本地环回地址127.0.0.1开始,直到最后ping远程主机。只要成功地ping到远程主机,可以判断网络问题一般发生在更高层次。

二、检测工具

Windows系统为我们提供了一个命令行检测工具,与图形界面下工具相比,命令行检测工具小巧适用,也提供了很多命令,对我们排查网络故障有很好的帮助。下面就简单介绍几个常用命令。

  1. 1、 ipconfig

ipconfig命令主要用来显示当前的TCP/IP配置,也用于手动释放和更新DHCP服务器指派的TCP/IP配置,这一功能对于运行DHCP服务的网络特别有用。

要发现和解决TCP/IP网络问题时,通常首先检查出现问题的计算机上的TCP/IP配置。使用ipconfig /all命令可获得全面的主机配置信息,如下图所示。既包括总体的IP配置信息,如主机名、IP地址、DNS、MAC地址等。


  1. 2、 ping

ping命令用于测试IP网络的连通性。只有在安装了TCP/IP协议后才可以使用。如下图所示:


一般使用ping命令来测试连接,向目的计算机的IP地址(或主机名)发送ICMP回应请求包。可以按以下步骤测试:

(1)、ping环回地址127.0.0.1,验证是否在本地计算机上安装TCP/IP以及配置是否正确。执行命令ping127.0.0.1,如果不成功,应安装和配置TCP/IP之后重新启动计算机;

(2)、ping本地计算机或网卡地址,验证是否将当前计算机正确地添加到网络;

(3)、ping默认网关,验证默认网关是否运行以及能否与本地网络上的本地主机通信;

(4)、ping远程主机,验证能否通过路由器进行通信。如果有问题,可检查路由器配置。

3、 arp

该命令可以查看和修改本地计算机上的ARP(地址解析协议)表项。该表项用于缓存最近将IP地址转换成MAC地址的IP/MAC地址对。目前极为流行的ARP欺骗就是利用的这个协议。关于ARP欺骗和解决办法,可以参考我司网络教室下的《解决ARP欺骗和攻击的方法》。

arp命令最常用的是查找同一物理网络上的某主机的MAC地址,并给出相应的IP地址。如果要想确定另外一个主机的MAC地址,通常先ping该主机,然后使用命令arp –a命令,如下图所示:



要删除本地计算机上的ARP条目可以使用命令arp –d。要绑定某台主机的IP与MAC地址可以使用命令arp –s 192.168.1.1 aa-bb-cc-dd-ee-ff,这样这个条目就变成静态ARP条目永远不会失效,如下图所示:



这样绑定的好处就是可以防止ARP病毒欺骗电脑。不过值得注意的是:这里绑定过后的条目在重启计算机后将失效,如何使其能每次重启后都有这样的绑定呢?我们可以新建一个批处理文件如static_arp.bat,注意后缀名为bat。编辑它,在里面加入我们刚才的命令:

保存就可以了,以后可以通过双击它来执行这条命令,还可以把它放置到系统的启动目录下来实现启动时自己执行。打开电脑“开始”->“程序”,双击“启动”打开启动的文件夹目录,把刚才建立的static_arp.bat复制到里面去:


好了,以后电脑每次启动时就会自己执行arp –s命令了。

通过上面的讲解,在遇到类似的网络问题的时候,我们就可以很轻松的解决。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK