首页 > 代码库 > 网络管理常用命令之一 - Ping命令详解
网络管理常用命令之一 - Ping命令详解
Ping命令...
TTL:生存时间...
不带选项...
-t 选项...
-a 选项...
-n 选项...
-l 选项(Length)...
-f 选项...
Request timed out(请求超时)
Destination host Unreachable(目标主机不可达)
Bad IP address.
Source quench received. 7
Unknown host
No answer
1、Ping命令
在网络维护过程中,Ping命令是一个经常使用的DOS命令,它是用来检查网络是否畅通或者网络连接速度的命令。可用于诊断连接性、可访问性和名称解析,可以探测对方计算机的活动情况,还可以通过数据返回时间简单推测对方的操作系统。
然而随着网络安全意识的日益提高,许多网管及个人用户都用防火墙增加了保护措施,防止被陌生人ping,因此,在Internet很多时候你是ping不通的(并不是对方不在线),但在局域网中,还是非常有用的,毕竟局域网的电脑都由你管理。
默认情况下一个Ping命令发送4个ICMP回应数据包,每个回应数据包包括32字节的数据(周期性的大写字母序列),并且需要注意的是,只有在安装了TCP/IP协议的情况下,才能使用Ping命令。
可在CMD下输入 不带参数的Ping 或 ping /? 将显示Ping命令的帮助。
TTL:生存时间
指定数据报被路由器丢弃之前允许通过的网段数量。
TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。
TTL 字段值可以帮助我们识别操作系统类型。
l UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255。
l Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64。
l LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64。
l 微软 Windows NT/2K/2k3/2k8操作系统 ICMP 回显应答的 TTL 字段值为 128。
l 微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32。
不带选项
Ping后只跟远程计算机名称,将显示与远程计算机的连接情况
-t 选项
连续Ping目标主机,若要中断和显示统计信息,请按 CTRL + BREAK,若要中断和退出ping,请按 CTRL + C
“Ping –t www.51cto.com”和“ping www.51cto.com –t”两种格式都可以。
使用-t参数时,可以使用如下的命令将Ping的结果保存到文本文档。以下示例为将测试结果保存到D盘根目录下的cmd.txt文档。
以下的文本内容是Ping测试的结果
使用-t参数时,可以按“Ctrl + Break”组合键查看统计信息,并继续执行Ping命令。
-a 选项
将IP地址反向解析为计算机名称。以下的命令可以看到本机的计算机名称,在局域网中,你就可以大展拳脚了。当然,你也可以使用其它命令,后面会讲到。
-n 选项
指定发送回响请求消息数量,默认值为4。以下的示例为发送10个回响请求消息。
-l 选项(Length)
设置发送的数据包的长度,以字节为单位,默认值为32字节,最大值为65500字节(官方文档:The maximum size is 65527.)。
一方面,可通过发送大数据的来回时间,计算带宽;另一方面,如果互联网上成千上万台肉机持续用大数据包Ping某台服务器,极有可能造成服务器当机。这也是用Ping工具攻击的一种方式。一般情况下,请慎用该选项。
-f 选项
指定回响请求消息发送与 IP 标头设置为 1(只适用于 IPv4)中的不分段标志,不能分段回显请求消息目标的路径中的路由器。 此参数可用于故障排除的路径最大传输单位 (PMTU) 问题。
另外,Ping命令还有如“-i”、“-v”、“-r”、“-s”、“-k”、“-v”、“-j”、“-R”、“-S”、“-4”、“-6”等参数,用得较少,其用法都可以在命令行中输入命令“ping”直接查到,这里就不再赘述了。
前面部分讲了Ping命令的基本用法,能够正常响应的情况大家都已了解,接下来另外介绍几种常用的返回结果,有助于在日常工作中排除故障。
Request timed out(请求超时)
请求超时,这是大家经常会碰到的提示信息,可能有如下几种情况:
l 对方主机不存在或已关机,下图所示的IP地址是不存在的。
l 对方与自己不在同一网段内,通过路由也无法找到对方,但有时对方确实是存在的,当然不存在也是返回超时的信息。
l 对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)。
怎样知道对方是存在,还是不存在呢,可以用带参数 -a 的Ping命令探测对方,如果能得到对方的NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。
l 错误设置IP地址
正常情况下,一台主机应该有一个网卡,一个IP地址,或多个网卡,多个IP地址(这些地址一定要处于不同的IP子网)。但如果一台电脑的“拨号网络适配器”(相当于一块软网卡)的TCP/IP设置中,设置了一个与网卡IP地址处于同一子网的IP地址,这样,在IP层协议看来,这台主机就有两个不同的接口处于同一网段内。当从这台主机Ping其他的机器时,会存在这样的问题:
a). 主机不知道将数据包发到哪个网络接口,因为有两个网络接口都连接在同一网段。
b). 主机不知道用哪个地址作为数据包的源地址。
因此,从这台主机去Ping其他机器,IP层协议会无法处理,超时后,Ping 就会给出一个“超时无应答”的错误信息提示。但从其他主机Ping这台主机时,请求包从特定的网卡来,ICMP只须简单地将目的、源地址互换,并更改一些标志即可,ICMP应答包能顺利发出,其他主机也就能成功Ping通这台机器了。
Destination host Unreachable(目标主机不可达)
对方与自己不在同一网段内,而自己又未设置默认的路由。这里要说明一下“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。
Bad IP address
这个信息表示您可能没有连接到DNS服务器,所以无法解析这个IP地址,也可能是IP地址不存在。
Source quench received
它表示对方或中途的服务器繁忙无法回应。这个信息比较特殊,出现的机率很少。
Unknown host
这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。
No answer
这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:
l 中心主机没有工作;
l 本地或中心主机网络配置不正确;
l 本地或中心的路由器没有工作;
l 通信线路有故障;
l 中心主机存在路由选择问题等
为了有效地找出网络故障的原因,在使用Ping命令进行测试检查时,尽量确保局域网中只配置了一个网关,同时确保本机没有启用IP安全设置策略,这样可以保证Ping命令能够正常运行并获得正确的测试结果。
本文出自 “海纳百川” 博客,请务必保留此出处http://hichuann.blog.51cto.com/1024435/1568602
网络管理常用命令之一 - Ping命令详解