系统管理指南:IP 服务

使用 ping 命令探测远程主机

可以使用 ping 命令确定远程主机的状态。运行 ping 时,ICMP 协议会将数据报发送到指定的主机,并请求响应。ICMP 是负责 TCP/IP 网络中错误处理的协议。使用 ping,可查明是否存在与指定的远程主机的 IP 连接。

以下是 ping 的基本语法:

/usr/sbin/ping host [timeout]

在此语法中,host 是远程主机的名称。timeout 参数(可选)指示 ping 命令继续尝试到达远程主机所用的时间(以秒为单位)。缺省值为 20 秒。有关其他语法和选项,请参阅 ping(1M) 手册页。

Procedure如何确定远程主机是否正在运行

  1. 键入以下形式的 ping 命令:


    $ ping hostname
    

    如果主机 hostname 正在接受 ICMP 传输,则会显示以下消息:


    hostname is alive

    此消息指示 hostname 对 ICMP 请求做出了响应。但是,如果 hostname 出现故障或者无法接收 ICMP 包,则会从 ping 命令接收到以下响应:


    no answer from hostname
    

Procedure如何确定主机是否正在丢弃包

使用 -ping 命令的 s 选项可确定远程主机是否虽在运行但丢失了包。

  1. 键入以下形式的 ping 命令:


    $ ping -s hostname
    

示例 8–13 用于检测包丢弃的 ping 输出

ping -s hostname 命令连续不断地将包发送到指定的主机,直到您发送中断字符或出现超时为止。屏幕上显示的响应信息与以下内容类似:


& ping -s host1.domain8
PING host1.domain8 : 56 data bytes
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=0. time=1.67 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=1. time=1.02 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=2. time=0.986 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=3. time=0.921 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=4. time=1.16 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=5. time=1.00 ms
64 bytes from host1.domain8.COM (172.16.83.64): icmp_seq=5. time=1.980 ms

^C

----host1.domain8  PING Statistics----
7 packets transmitted, 7 packets received, 0% packet loss
round-trip (ms)  min/avg/max/stddev = 0.921/1.11/1.67/0.26

包丢失统计信息指示主机是否已丢弃包。如果 ping 失败,请检查由 ifconfignetstat 命令报告的网络状态。请参阅使用 ifconfig 命令监视接口配置使用 netstat 命令监视网络状态