详解:关于Ping命令你知道多少?
本页链接:https://zsk.wanbushu.com/html/basicnetwork-show-1.html

问题描述:

现在网络技术非常发达,电子设备遇到网络问题后如何排查定位故障原因?和大家分享一下ping命令。


解决方案:

1、Ping的基础知识

Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP工具。它主要的功能是用来检测网络的连通情况和分析网络速度。

Ping有好的善的一面也有恶的一面。先说一下善的一面吧。上面已经说过Ping的用途就是用来检测网络的连同情况和分析网络速度,但它是通过什么来显示连通呢?这首先要了解Ping的一些参数和返回信息。

2、Ping命令详解

首先需要打开DOS命令界面,通过点击开始菜单中的“运行”选项,输入“cmd”, 回车即可打开(如下图)。

1.gif

回车后

2.gif

我们输入 ping /? 例出ping 以下是PING的一些参数(如图):

3.gif

下面我和大家讲解一下,每个参数意思和使用。

ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list

-t Ping 指定的计算机直到中断。

-a 将地址解析为计算机名。

-n count 发送 count 指定的 ECHO 数据包数。默认值为 4。

-l length 发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是65,527。

-f 在数据包中发送"不要分段"标志。数据包就不会被路由上的网关分段。

-i ttl 将"生存时间"字段设置为 ttl 指定的值。

-v tos 将"服务类型"字段设置为 tos 指定的值。

-r count 在"记录路由"字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 9 台计算机。

-s count 指定 count 指定的跃点数的时间戳。

-j computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。

-k computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。

-w timeout 指定超时间隔,单位为毫秒。

destination-list 指定要 ping 的远程计算机。

3、怎样使用Ping这命令来测试网络连通呢?

连通问题是由许多原因引起的,如本地配置错误、远程主机协议失效等,当然还包括设备等造成的故障。

首先我们讲一下使用Ping命令的步骤。

使用Ping检查连通性有五个步骤:

1. 使用ipconfig /all观察本地网络设置是否正确,如图;

4.gif

2. Ping 127.0.0.1,127.0.0.1 回送地址Ping回送地址是为了检查本地的TCP/IP协议有没有设置好;

5.gif

3. Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误;

6.gif

4. Ping本网网关或本网IP地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)

7.gif

5. Ping远程IP地址,这主要是检查本网或本机与外部的连接是否正常。

8.gif

4、如何用Ping命令来判断一条链路好坏?

Ping这个命令除了可以检查网络的连通和检测故障以外,还有一个比较有趣的用途,那就是可以利用它的一些返回数据,来估算你跟某台主机之间的速度是多少字节每秒

我们先来看看它有那些返回数据。

9.gif

在例子中"bytes=32"表示ICMP报文中有32个字节的测试数据,"time=4ms"是往返时间。 Sent 发送多个秒包、Received 收到多个回应包、Lost 丢弃了多少个Minmum 最小值 、MAXimun 最大值、Average 平均值。所在图上来看,来回只用了4MS 时间,lost =0 即是丢包数为0,网络状态相当良好。 (更详细可以使用-n参数 “ping –n 100 IP地址” ping 100次。查看 Sent Received Lost Minmum MAXimun Average 这些值的变化。)

5、对Ping后返回信息的分析

1.Request timed out

这是大家经常碰到的提示信息,很多文章中说这是对方机器置了过滤ICMP数据包,从上面工作过程来看,这是不完全正确的,至少有下几种情况。

10.gif

(1) 对方已关机,或者网络上根本没有这个地址:比如在上图中主机A中PING 192.168.0.7 ,或者主机B关机了,在主机A中PING 192.168.0.5 都会得到超时的信息。

(2)对方与自己不在同一网段内,通过路由也无法找到对方,但有时对方确实是存在的,当然不存在也是返回超时的信息。

(3)对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)。

怎样知道对方是存在,还是不存在呢,可以用带参数 -a 的Ping命令探测对方,如果能得到对方的NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。

(4)错误设置IP地址

正常情况下,一台主机应该有一个网卡,一个IP地址,或多个网卡,多个IP地址(这些地址一定要处于不同的IP子网)。但如果一台电脑的“拨号网络适配器”(相当于一块软网卡)的TCP/IP设置中,设置了一个与网卡IP地址处于同一子网的IP地址,这样,在IP层协议看来,这台主机就有两个不同的接口处于同一网段内。当从这台主机Ping其他的机器时,会存在这样的问题:

A.主机不知道将数据包发到哪个网络接口,因为有两个网络接口都连接在同一网段。

B.主机不知道用哪个地址作为数据包的源地址。因此,从这台主机去Ping其他机器,IP层协议会无法处理,超时后,Ping 就会给出一个“超时无应答”的错误信息提示。但从其他主机Ping这台主机时,请求包从特定的网卡来,ICMP只须简单地将目的、源地址互换,并更改一些标志即可,ICMP应答包能顺利发出,其他主机也就能成功Ping通这台机器了。

2.Destination host Unreachable

(1) 对方与自己不在同一网段内,而自己又未设置默认的路由,比如上例中A机中不设定默认的路由,运行Ping 192.168.0.1.4就会出现“Destination host Unreachable”。

(2)网线出了故障

这里要说明一下“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。 3.Bad IP address

这个信息表示您可能没有连接到DNS服务器,所以无法解析这个IP地址,也可能是IP地址不存在。

4.Source quench received

这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。

5.Unknown host——不知名主机

这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。

6.No answer——无响应

这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;通信线路有故障;中心主机存在路由选择问题。

7.Ping 127.0.0.1:127.0.0.1是本地循环地址

如果本地址无法Ping通,则表明本地机TCP/IP协议不能正常工作。

8.no rout to host:网卡工作不正常。

9.transmit failed,error code:10043网卡驱动不正常。

10.unknown host name:DNS配置不正确。

以上是我在“拼”(Ping)的过程中,总结的一些经验技巧,希望能对大家的工作和学习有所帮助。


本页链接:https://zsk.wanbushu.com/html/basicnetwork-show-1.html

上一篇:没有了
下一篇:如何查看无线网卡是否支持5Ghz频段?