2.4.1 Ping命令的使用
Ping命令的目的是为了测试另一台主机是否可达,Ping命令发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。一般来说,如果不能Ping到某台主机,那么就不能与该主机进行通信(例外的情况是对方主机的防火墙将进入主机的回显请求报文屏蔽掉了,这种情况虽然Ping不通,但是仍然可以正常进行通信)。
Ping命令有很多参数,打开命令行直接输入Ping后按下回车键,这样就可以看到Ping命令的参数列表,如图2-15所示。
图2-15 Ping命令的参数列表
通常情况下,用户都只是简单Ping一下某个主机的地址。Ping命令的参数可以是主机名称、域名和IP地址,后两者是较为常用的。下面简单演示一个Ping的例子,具体如下:
C:\>ping 8.8.4.4 Pinging 8.8.4.4 with 32 bytes of data: Reply from 8.8.4.4: bytes=32 time=57ms TTL=47 Reply from 8.8.4.4: bytes=32 time=54ms TTL=47 Reply from 8.8.4.4: bytes=32 time=54ms TTL=47 Reply from 8.8.4.4: bytes=32 time=51ms TTL=47 Ping statistics for 8.8.4.4: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 51ms, Maximum = 57ms, Average = 54ms
上面就是笔者使用Ping命令对8.8.4.4这个IP进行回显请求后的输出信息。这里来解释一下请求后的回显信息的含义。
Pinging 8.8.4.4 with 32 bytes of data:
正在将32字节数据发送到远程主机8.8.4.4,如果Ping的是一个域名或主机名的话,这里会将域名(主机名)转换为IP地址显示出来。
Reply from 8.8.4.4: bytes=32 time=57ms TTL=47
本地主机已经收到回显应答信息,bytes=32表示有32字节,time=57ms表示公用了57毫秒,TTL表示的是生存时间值,该值可以进行设置,该值最大为255。每个处理数据包的路由器都需要把TTL的值减1或减去数据包在路由器中停留的秒数。由于大多数路由器转发数据包的延时都小于1秒,因此TTL最终成为一个跳站的计数器,所经过的每个路由器都将其值减1,当该值被减到0值时,该包将被丢弃。
Ping statistics for 8.8.4.4: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 51ms, Maximum = 57ms, Average = 54ms
Ping 8.8.4.4的统计信息为:Sent=4表示发送了4个数据包,Received=4表示接收了4个数据包,Lost=0(0% loss)表示丢失的数据包是0个,丢包率为0%。
发送时间的大概情况:Mininum=51ms,最快是51ms,Maximum=57ms,最慢是57ms,Average=54ms,平均为54ms。