搜档网
当前位置:搜档网 › Ping命令判断网络的故障

Ping命令判断网络的故障

Ping命令判断网络的故障(好用)



如果当您的电脑不能上网,估计您连电脑都懒得开了。那么,当电脑不能上网时,我们如何才能准确地判断电脑问题出在哪里?又如何能快捷地解决这故障?希望下文的一些小技巧能帮到大家。
其实,电脑不能上网大致可分以下几个原因,系统的IP设置、网卡、MODEM和线路故障。排除硬件及线路的故障问题,我们可以利用Ping命令来快速检测网络状况。
首先,我们点击系统中开始里的运行,在运行栏中输入cmd命令,操作系统中的DOS窗口就会弹出,在这里我们可以直观和方便地输入各种DOS命令。
接着,我们可以在DOS里输入Ping 127.0.0.1,该地址是本地循环地址,如发现本地址无法Ping通,就表明本地机TCP/IP协议不能正常工作。
如果上面的操作成功,可Ping通的话,我们接下来可以输入IPConfig来查看本地的IP地址,然后Ping该IP(192.168.1.114),通则表明网络适配器(网卡或MODEM)工作正常,不通则是网络适配器出现故障。
然后Ping一台同网段计算机的IP,不通则表明网络线路出现故障;若网络中还包含有路由器,则应先Ping路由器在本网段端口的IP,不通则此段线路有问题;通则再Ping路由器在目标计算机所在网段的端口IP,不通则是路由出现故障;通则再Ping目的机IP地址。
最后,检测一个带DNS服务的网络,在上一步Ping通了目标计算机的IP地址后,仍无法连接到该机,则可Ping该机的网络名,比如Ping [url]https://www.sodocs.net/doc/75773336.html,[/url],正常情况下会出现该网址所指向的IP,这表明本机的DNS设置正确而且DNS服务器工作正常,反之就可能是其中之一出现了故障;同样也可通过Ping计算机名检测WINS解析的故障(WINS是将计算机名解析到IP地址的服务)。
当以上四个步骤执行完毕后,我们就可轻易判断出到底是某个环节出现了故障问题,该重新设置的设置,该换硬件的换硬件。另外,如果想检测网络的连接情况,我们还可以在Ping的地址后面加上-t,这样可不断地进行Ping的连接,可反映出网络的连接是否有中断或者丢包的现象出现。除了Ping命令外,现在还有不少小软件,它能检测到网络的连接情况,还能检测到宽带线路的带宽。




1.通过Ping检测网络故障的典型次序
正常情况下,当我们使用Ping命令来查找问题所在或检验网络运行情况时,我们需要使用许多Ping命
令,如果所有都运行正确,我们就可以相信基本的连通性和配置参数没有问题;如果某些Ping命令出现运
行故障,它也可以指明到何处去查找问题。下面就给出一个典型的检测次序及对应的可能故障:
·ping 127.0.0.1
这个Ping命

令被送到本地计算机的IP软件,该命令永不退出该计算机。如果没有做到这一点,就表示
TCP/IP的安装或运行存在某些最基本的问题。
·ping 本机IP
这个命令被送到我们计算机所配置的IP地址,我们的计算机始终都应该对该Ping命令作出应答,如果
没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命
令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的IP地址。
·ping 局域网内其他IP
这个命令应该离开我们的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明
本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码(进行子网分割时,将
IP地址的网络部分与主机部分分开的代码)不正确或网卡配置错误或电缆系统有问题。
·ping 网关IP
这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。
·ping 远程IP
如果收到4个应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet
(但不排除ISP的DNS会有问题)。
·ping localhost
localhost是个作系统的网络保留名,它是127.0.0.1的别名,每台计算机都应该能够将该名字转换成
该地址。如果没有做到这一带内,则表示主机文件(/Windows/host)中存在问题。
·ping [url]https://www.sodocs.net/doc/75773336.html,[/url](如[url]https://www.sodocs.net/doc/75773336.html,[/url]天极网)
对这个域名执行Ping [url]https://www.sodocs.net/doc/75773336.html,[/url] 地址,通常是通过DNS 服务器 如果这里出现故障,则表示DNS服
务器的IP地址配置不正确或DNS服务器有故障(对于拨号上网用户,某些ISP已经不需要设置DNS服务器了
)。顺便说一句:我们也可以利用该命令实现域名对IP地址的转换功能。
如果上面所列出的所有Ping命令都能正常运行,那么我们对自己的计算机进行本地和远程通信的功能
基本上就可以放心了。但是,这些命令的成功并不表示我们所有的网络配置都没有问题,例如,某些子网
掩码错误就可能无法用这些方法检测到。
2、Ping命令的常用参数选项
·ping IP地址 -t
连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断。
·ping IP地址 -l 3000
指定Ping命令中的数据长度为3000字节,而不是缺省的32字节。
·ping IP地址 -n
执行特定次数的Ping 命令。




1、网络调试工具概说;

如果我们把一台机器接入网络中,通过网络配置工具的配置这时就要用到网络调试工具,目的是判断机器是否已经接入到网络以及网络连接是否正常。我们常用的在各个发行版

通用的网络配置工具是ifconfig和netconfig,当然Linux各大发行版本又有自己的配置工具,这些特定发行版特别的配置工具是非常有效的,大多是图形界面的,操作也非常之简单。
有关网络配置工具,请参考:
《Linux 网络接口配置文件及相关工具》
《改变网络接口的速度和协商方式的工具miitool 和ethtool》
在网络配置中,与网络相关的配置文件是比较重要的。关于网络相关的配置文件,请参考:
《Linux 网络基础》
《Linux 网络接口配置文件及相关工具》
网络调试工具,是假定网络已配置好后,测试网络是否正常时所使用的工具。网络调试工具包括网络测试工具和故障排查工具两大类。

配置网络的流程如下:

物理性硬件接通->配置网络 (通过网络配具工具) ->网络测试->网络诊断->成功

2、网络测试工具和方法;





2.1 网络测试工具 ping :

我们想知道一台主机的网络是否正常,这时就要用到ping ,ping工具是我们最常用的网络测试工具。根据ping 主机的结果,我们能判断主机在网络上是否正常。如果出现连接不通或丢包的情况(防火墙阻挡ICMP应答的网络除外),我们就要用到网络配置工具或诊断工具出找出问题所在。一般的情况下,出现网络不通,可能与我们所做的网线接头有关,有时也与交换机或我集线器等网络设备是否正常有关,有时需要我们我重做网线或换个交换机(或集线器)的接口。
ping 的用法
ping的用法,etony兄曾在 《Linux 网络基础》 ,对于 ping ,我们只是简单的会用就行了;
ping [参数] 主机或ip
注: ping后面可以不接参数选项,直接接主机名、域名或ip地址;
在这里,我以实例的形式来解说ping 的一些用法,如果您想知道 ping 的说明书,请参见我前面所提到的 etony兄的文档,谢谢;
实例一:ping 的最简单的用法和解说;
[root@localhost ~]# ping https://www.sodocs.net/doc/75773336.html,
PING https://www.sodocs.net/doc/75773336.html, (211.93.98.20) 56(84) bytes of data.
64 bytes from 211.93.98.20: icmp_seq=1 ttl=64 time=1.51 ms
64 bytes from 211.93.98.20: icmp_seq=2 ttl=64 time=0.323 ms
64 bytes from 211.93.98.20: icmp_seq=3 ttl=64 time=0.318 ms
64 bytes from 211.93.98.20: icmp_seq=4 ttl=64 time=0.317 ms
64 bytes from 211.93.98.20: icmp_seq=5 ttl=64 time=0.321 ms
64 bytes from 211.93.98.20: icmp_seq=6 ttl=64 time=0.218 ms
64 bytes from 211.93.98.20: icmp_seq=7 ttl=64 time=0.312 ms
64 bytes from 211.93.98.20: icmp_seq=8 ttl=64 time=0.316 ms
64 bytes from 211.93.98.20: icmp_seq=9 ttl=64 time=0.309 ms
64 bytes from 211.93.98.20: icmp_seq=10 ttl=64 time=0.318 ms
--- 211.93.98.20 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9001ms
rtt min/avg/max/mdev = 0.218/0.426/1.513/0.363 ms
解说:
1] ping 可以接主机名、域名

或IP地址,在局域网中同网段主机与主机之间是否能通过主机名互相通信,目前有两种方法,一种是做DNS服务器(请参考:《DNS服务器的配置与应用》,另一种方法是修改/etc/hosts(请参考:《Linux操作系统主机名(hostname)简说》 。在不同网段的主机与主机之间,能否相互通信,还得要设置路由,请参考《Linux 网络基础》
2] 通过 ping https://www.sodocs.net/doc/75773336.html, 的例子,我们可以看到 pi为ICMP回显应答 的结果返回的数据包大小是 64 byte ,当然我们可以通过 -s选项指定包的大小。 icmp_seq=x(x是大于1的整数)是响应包的数列号,这个序列号如果是在网络正常的情况下是连续的,如果出现不连续的情况,网络会出现丢包的情况。 丢包可能物理硬件造成的,但也可能是IP冲突造成的,也可能是网卡的
3]在此例中,我们还看了 ttl的值是64,什么是TTL呢,英文是Time To Live,可以译成生存时间,也就是包被发出后的存活时间。在网上有好多文章都说能通过TTL的值来判断操作系统类型;比如 Linux 系统的TTL默认值是64,Windows系列的默认值是128或32,Unix类的是 255。 据我测试的情况来看也不一定,我在局域网中测试 Windos Sp2的TTL也是64。至于这一说法是否是真理,还得需要您测试。
4]time=xxx ms 表示数据包返回所需要的时间;
5]当终止ping的时候,可以按 ctrl+c的组合键。我们可以查看ping的结果统计,比如传输了多少个包,返回多少个包,多少包损失了,耗时多少 ... ... 就是类似下面的;
--- 211.93.98.20 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9001ms
rtt min/avg/max/mdev = 0.218/0.426/1.513/0.363 ms
实例二:ping 的一些参数的用法;
-s 指定数据包的大小,单位是字节; 默认值是 56,当与8个字节的ICMP头数据结合时,又转化成 64字节的ICMP数据;
-l 进入正常的行为模式之前,尽可能快的发送多少个preload个数据包
-c count 发送(接收)count个数据包后停止;
-i 发送数据包之间的时间间隔;
-f 使ping包不断发送和产生,瞬间值极大。要小心使用,类似DDOS攻击。这个选项只有root权限用户可以执行;
-r 绕过路由表,直接向网络主机发送;

举例:

[root@cuc03 beinan]# ping -l 10 192.168.1.5
[root@cuc03 beinan]# ping -i 3 192.168.1.5
[root@cuc03 beinan]# ping -f 192.168.1.5
[root@cuc03 beinan]# ping -r 192.168.1.5
[root@cuc03 beinan]# ping -s 128 192.168.1.5
通过上面的例子,有兴趣的弟兄看看结果吧;

2.2 其它测试网络可用性的方法;

值得一说的是ping 在有防火墙或路由器禁用IMCP响应的网络中使用,在这样的网络,就是ping也ping不出结果。如果您处于这样的网络之中,如果要让ping 生效,您得调整防火墙或路由器。
另外

我们还可以通过应用层上的工具来测试,比如ssh、telnet、ftp或http等工具来测试网络的可用性。这些比较简单,只是在一方架好相应的服务器就可以测试了;

3、网络故障诊断工具和方法;

ping 工具和应用测试方法,只是提供简单的处于网络的主机是否可用,但不会知道具体问题所在。所以我们有必要引入故障诊断这一概念;下面我们说说故障诊断的流程;
故障诊断流程:
* 网线做的是否规范,在乙太网络中,要知道交叉线和平行线的做法适用的网络是不一样的;
* 网络接口配置是否正确;
* DNS客户端配置文件是否正确;
* 是否可以ping 通回环地址 127.0.0.1;
* 是否可以用IP地址我ping通网络的主机;
* 是否可以ping通其它网段的主机;不同网络的主机沟通需要添加路由;
* 是否可以用telnet、http、ftp、ssh访问其它主机上相应对应的服务;

traceroute 跟踪数据包到达网络主机所经过的路由工具;

traceroute 是用来发出数据包的主机到目标主机之间所经过的网关的工具。traceroute 的原理是试图以最小的TTL发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为 38个字节。
traceroute [参数选项] hostname,域名或 IP地址
参数选项:
-i 指定网络接口,对于多个网络接口有用。比如 -i eth1 或-i ppp1等;
-m 把在外发探测试包中所用的最大生存期设置为max-ttl次转发,默认值为30次;
-n 显示IP地址,不查主机名。当DNS不起作用时常用到这个参数;
-p port 探测包使用的基本UDP端口设置为port ,默认值是33434
-q n 在每次设置生存期时,把探测包的个数设置为值n,默认时为3;
-r 绕过正常的路由表,直接发送到网络相连的主机;
-w n 把对外发探测包的等待响应时间设置为n秒,默认值为3秒;
实例一: traceroute 用法简单、最常用的用法
就是后面直接接IP或hostname或域名;比如下面的示例;
[root@localhost ~]# traceroute https://www.sodocs.net/doc/75773336.html,
traceroute to https://www.sodocs.net/doc/75773336.html, (211.93.98.20), 30 hops max, 40 byte packets
1 sir01.localdomain (192.168.1.1) 0.151 ms 0.094 ms 0.146 ms
2 221.201.88.1 (221.201.88.1) 5.867 ms 7.588 ms 5.178 ms
3 218.25.158.149 (218.25.158.149) 6.546 ms 6.230 ms 8.297 ms
4 218.25.138.133 (218.25.138.133) 7.129 ms 7.644 ms 8.311 ms
......
注: 此例中,记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 4 https://www.sodocs.net/doc/75773336.html, ,表示向每个网关发送4个数据包;
有时我们traceroute 一台主机时,会看到有一些行是以星号

表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会有延时长的现象;您可以加-n 参数来避免DNS解析,以IP格式输出数据;
如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在, 是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。为什么呢?因为北方网通和南方电信各自为政。以前无论怎么说都是一张网,现在就是两张网,是通而不畅。咱们只能望网兴叹了;
实例二:一些参数的用法示例;
[root@localhost ~]# traceroute -m 10 https://www.sodocs.net/doc/75773336.html, 把跳数设置为10次;
[root@localhost ~]# traceroute -n https://www.sodocs.net/doc/75773336.html, 注:显示IP地址,不查主机名。
[root@localhost ~]# traceroute -p 6888 https://www.sodocs.net/doc/75773336.html, 注:探测包使用的基本UDP端口设置6888
[root@localhost ~]# traceroute -q 4 https://www.sodocs.net/doc/75773336.html, 注:把探测包的个数设置为值4;
[root@localhost ~]# traceroute -r https://www.sodocs.net/doc/75773336.html, 注:绕过正常的路由表,直接发送到网络相连的主机;
[root@localhost ~]# traceroute -w 3 https://www.sodocs.net/doc/75773336.html, 注:把对外发探测包的等待响应时间设置为5秒.





平时大家在上网的时候,经常会遇见上不去的问题。
其实导致这个问题的真的是好多好多。但是,我们可以从大个俩个方面去考虑这个问题:硬件和软件。
计算机的组成无非也就是这俩个部分!我们可以按照一下几个步骤进行逐步的检查:
1.ping 127.0.0.1 如果OK,那就说明你的机器的TCP/IP协议配置没问题;
2.ping 自己的机器的IP地址。如果也OK,说明你的网卡也没问题;
3. ping 网关 。OK了,就很好了,说明你的信息从机器到出大门的这个路上也没问题,要是不通很显然就在这中间找了。线路的质量问题,插头是否松动,线缆的类型是否对,接口是否对,哈哈,还有比较有趣的就是检查下你的网关的地址是否PING对了(这个错了就又点说不过去了啊)。
4.ping DNS的IP地址。 如果OK,那么我们就可以通过域名来上网,否则当我们输入[url]https://www.sodocs.net/doc/75773336.html,[/url]的时候也是上不去的 。如果OK可是还是上不去,那么就还有病毒的嫌疑。利用杀毒软件来个彻底杀毒。这个时候,最好是拔掉网线,我觉得这个做法还是不错的 。

有了这么几个小方法,我看我们

解决问题起来就不会那么盲目了,也不会又无从下手的感觉了~

关键是大家要理解我们每个步骤是为了判定什么....理解每个步骤的真正目的和含义.

知道信息在网络中的传递过程,这样你就可以很轻松的来判断故障和采取有效的分析思维。

互相学习,共同努力,一起进步~!!




轻松解决典型网络故障!




搭建家庭局域网不难,想要一次调通可不是那么容易。不过,难者不会,会者不难,掌握了下面这些小技巧,你就可以轻松解决网络软硬故障了。

硬件故障
硬件故障主要有网卡自身故障、网卡未正确安装、网卡故障、集线器故障等。

首先检查插上计算机I/O插槽上的网卡侧面的指示灯是否正常,网卡一般有两个指示灯“连接指示灯”和“信号传输指示灯”,正常情况下“连接指示灯”应一直亮着,而“信号传输指示灯”在信号传输时应不停闪烁。如“连接指示灯”不亮,应考虑连接故障,即网卡自身是否正常,安装是否正确,网线、集线器是否有故障。

我们先大致从网卡外表观察一下:

1.RJ45接头的问题

RJ45接头容易出故障,例如,双绞线的头没顶到RJ45接头顶端,绞线未按照标准脚位压入接头,甚至接头规格不符或者是内部的绞线断了。

镀金层厚度对接头品质的影响也是相当可观的,例如镀得太薄,那么网线经过三五次插拔之后,也许就把它磨掉了,接着被氧化,当然也容易发生断线。

2.接线故障或接触不良

一般可观察下列几个地方:双绞线颜色和RJ-45接头的脚位是否相符;线头是否顶到RJ-45接头顶端,若没有,该线的接触会较差.需再重新压按一次;观察RJ-45侧面。金属片是否已刺入绞线之中?若没有,极可能造成线路不通;观察双绞线外皮去掉的地方,是否使用剥线工具时切断了绞线(绞线内铜导线已断,但皮未断)。

如果还不能发现问题,那么我们可用替换法排除网线和集线器故障,即用通信正常的电脑的网线来连接故障机,如能正常通信,显然是网线或集线器的故障,再转换集线器端口来区分到底是网线还是集线器的故障,许多时候集线器的指示灯也能提示是否是集线器故障,正常对应端口的灯应亮着。

软件故障
如果网卡的信号传输指示灯不亮,这一般是由网络的软件故障引起的。

1.检查网卡设置

普通网卡的驱动程序磁盘大多附有测试和设置网卡参数的程序。分别查验网卡设置的接头类型、IRQ、I/O端口地址等参数,若有冲突.只要重

新设置(有些必须调整跳线),一般都能使网络恢复正常。

另外检查一下网卡驱动程序是否正常安装。不同网卡使用的驱动程序亦不尽相同,假如你选错了,就有可能发生不兼容的现象。修复的方法亦不难,只要找到正确的驱动程序.重新安装即可。

最后我们简单检验一下网卡设置故障是否排除。打开“控制面板-系统-设备管理器”,选中我们安装的网络适配器,点击“属性”按钮,在“常规”文件夹中,可以查看网卡是否在正常工作。

2.检查网络协议

打开”控制面板-网络-配置”选项,查看已安装的网络协议,必须配置以下各项:NetBEUI协议和TCP/IP协议,Microsoft友好登录,拨号网络适配器。如果以上各项都存在,重点检查TCP/IP是否设置正确。在TCP/IP属性中要确保每一台电脑都有唯一的IP地址,将子网掩码统一设置为255.255.255.0,网关要设为代理服务器的IP地址(如192.168.0.1)。另外必须注意主机名在局域网内也应该是唯一的。最后,我们用ping命令来检验一下网卡能否正常工作。

1.ping 127.0.0.1

127.0.0.1是本地循环地址.如果该地址无法ping通,则表明本机TCP/IP协议不能正常工作;如果ping通了该地址,证明TCP/IP协议正常,则进入下一个步骤继续诊断。

2.ping本机的IP地址

使用ipconfig命令可以查看本机的IP地址,ping该IP地址,如果ping通,表明网络适配器(网卡或者Modem)工作正常,则需要进入下一个步骤继续检查;反之则是网络适配器出现故障。

3.ping本地网关

本地网关的IP地址是已知的IP地址。ping本地网关的IP地址,ping不通则表明网络线路出现故障。如果网络中还包含有路由器,还可以ping路由器在本网段端口的IP地址,不通则此段线路有问题,通则再ping路由器在目标计算机所在同段的端口IP地址.不通则是路由出现故障。如果通,最后再ping目的机的IP地址。

4.ping网址

如果要检测的是一个带DNS服务的网络(比如Internet),上一步ping通了目标计算机的IP地址后。仍然无法连接到该机,则可以ping该机的网络名,比如:ping [url]https://www.sodocs.net/doc/75773336.html,[/url],正常情况下会出现该网址所指向的IP地址,这表明本机的DNS设置正确而且DNS服务器工作正常,反之就可能是其中之一出现了故障。

常用DOS命令
1.ping命令

ping命令是用于确定本地主机是否能与另一台主机成功交换数据包。根据返回的信息,可以推断TCP/IP参数(因为现在网络一般都是通过TCP/IP协议来传送数据的)是否设置正确,以及运行是否正常

、网络是否通畅等。但ping成功并不代表TCP/IP配置一定正确,你有可能要执行大量的本地主机与远程主机的数据包交换,才能确信TCP/IP配置无误。

ping命令可以在MS-DOS窗口下运行,执行格式如下:

ping 网址

例如:ping 127.0.0.1

2.ipconfig命令

ipconfig这个命令,通常只被用户用来查询本地的IP地址、子网掩码、默认网关等信息。ipconfig、ping是我们在诊断网络故障或查询网络数据时常用的命令,它们的使用也很简单,即使你不知道它们的应用格式,也可以通过“ipconfig/?”或“ping/?”这种标准的DOS命令帮助方式来获取相关信息。

3.tracert命令

tracert命令能够追踪你访问网络中某个节点时所走的路径.也可以用来分析网络和排查网络故障。举个例,我想知道自己访问https://www.sodocs.net/doc/75773336.html,时走的是怎样一条路线,就可以在DOS状态下输入tracert https://www.sodocs.net/doc/75773336.html,,执行后经过一段时间等待,系统会反馈出很多IP地址。最上方的IP地址是本地的网关,而最后面一个地址就是https://www.sodocs.net/doc/75773336.html,网站的IP地址了。换句话说,从上至下,便是我们访问https://www.sodocs.net/doc/75773336.html,所走过的“足迹”。

4.netstat命令

netstat命令是一个监控TCP/IP网络的实用的工具,它可以显示实际的网络连接以及每一个网络接口设备的状态信息。Netstat命令的参数不是很多,我们常用Netstat -r来监视网络的连接状态,非常管用。

在网络出现故障时,我们经常交替使用上面这四个命令,以方便查找故障。

相关主题