ping是什么?

作者: 小m_up | 来源:发表于2016-11-02 11:23 被阅读169次

刚开始知道这个词是在解决tomcat可以启动,但是却无法访问locahost的时候去找总理帮忙,然后总理让我去定位错误的时候提到的一条命令。然后就打开cmd,输入ping localhost,输出信息为:

正在 Ping DESKTOP-JLPRFBP [::1] 具有 32 字节的数据:
来自 ::1 的回复: 时间<1ms
来自 ::1 的回复: 时间<1ms
来自 ::1 的回复: 时间<1ms
来自 ::1 的回复: 时间<1ms
::1 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms

说明网络协议(TCP/IP)在本机正常运行,所以就学习了一下ping。

ping是什么

它是用来检查网络是否通畅或者网络连接速度的命令。

ping的用法

用法:

ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
[-4] [-6] target_name

选项:
-t             Ping 指定的主机,直到停止。
               若要查看统计信息并继续操作,请键入 Ctrl+Break;
               若要停止,请键入 Ctrl+C。
-a             将地址解析为主机名。
-n count       要发送的回显请求数。
-l size        发送缓冲区大小。
-f             在数据包中设置“不分段”标记(仅适用于 IPv4)。
-i TTL         生存时间。
-v TOS         服务类型(仅适用于 IPv4。该设置已被弃用,
               对 IP 标头中的服务类型字段没有任何
               影响)。
-r count       记录计数跃点的路由(仅适用于 IPv4)。
-s count       计数跃点的时间戳(仅适用于 IPv4)。
-j host-list   与主机列表一起使用的松散源路由(仅适用于 IPv4)。
-k host-list   与主机列表一起使用的严格源路由(仅适用于 IPv4)。
-w timeout     等待每次回复的超时时间(毫秒)。
-R             同样使用路由标头测试反向路由(仅适用于 IPv6)。
               根据 RFC 5095,已弃用此路由标头。
               如果使用此标头,某些系统可能丢弃
               回显请求。
-S srcaddr     要使用的源地址。
-c compartment 路由隔离舱标识符。
-p             Ping Hyper-V 网络虚拟化提供程序地址。
-4             强制使用 IPv4。
-6             强制使用 IPv6。

可以在自己的windows下打开cmd,输入ping查看。

那么这么多的命令,我们怎么能记得住呢,所以我们只要掌握最常用的就好了。常用的有以下三个:

-t Ping 指定的主机,直到停止。

例如命令:ping -t www.baidu.com 那么机器会一直ping www.baidu.com直到我们按Ctrl+C键来停止。

-l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。

例如命令:ping -l 100 www.baidu.com,那么本地计算机就会用100字节的数据包去 ping www.baidu.com,系统默认的数据包是32字节,最大的字节数是65,527。

-n 定义向目标IP发送数据包的次数。

例如命令:ping -n 10 www.baidu.com,那么本地计算机就会ping www.baidu.com10次,如果不加-n 参数的话,系统默认是ping4次。

对Ping后返回信息的分析

1.Request timed out

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

相关文章

网友评论

  • 6d96978eeefb:能否把这篇文章的markdown的原文发给我?我想看一下的markdown语法是如何使用的。
    小m_up:@TW李鹏 嗯嗯
  • 6d96978eeefb:这个文章修改完以后,就可以发到朋友圈,并且别忘了投稿。
  • 6d96978eeefb:很不错,马上就写博客了,赞!文章总体来说不错,讲的很清楚,也有条理。

    有一些地方需要改进的,比如可以给出ping的一些常用用法,不然如果对它不熟悉的话,看完了文章,我可能还是不知道怎么用。

    另外也可以在前面大概说一下,为什么你会想到要学这个东西,是一个什么样的场景让你对它感产生兴趣,这样其他人就可以想到自己是否遇到过类似的场景,是否可以用它
    小m_up:@TW李鹏 好的,谢谢老师 :smiley:

本文标题:ping是什么?

本文链接:https://www.haomeiwen.com/subject/rvevuttx.html