Linux shell ping 命令
Linux shell ping 命令用于检测主机是否可触达
ping 命令会使用 ICMP
传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
ping 通了那表示一定可以触达,ping 不同则不一定,因为远程主机可以关闭 ping 服务
ping 命令语法格式如下
ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
选项
- -d
- 使用Socket的SO_DEBUG功能。
- -c<完成次数>
- 设置完成要求回应的次数。
- -f
- 极限检测。
- -i<间隔秒数>
- 指定收发信息的间隔时间。
- -I<网络界面>
- 使用指定的网络界面送出数据包。
- -l<前置载入>
- 设置在送出要求信息之前,先行发出的数据包。
- -n
- 只输出数值。
- -p<范本样式>
- 设置填满数据包的范本样式。
- -q
- 不显示指令执行过程,开头和结尾的相关信息除外。
- -r
- 忽略普通的Routing Table,直接将数据包送到远端主机上。
- -R
- 记录路由过程。
- -s<数据包大小>
- 设置数据包的大小。
- -t<存活数值>
- 设置存活数值TTL的大小。
- -v
- 详细显示指令的执行过程。
范例
范例 1 : 检测远程主机 www.baidu.com 是否可可连通
注意 需要按下 Ctrl+C 手动终止
[root@localhost ~]# ping www.baidu.com PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data. 64 bytes from www.baidu.com (14.215.177.38): icmp_seq=1 ttl=54 time=28.9 ms From 192.168.0.104 (192.168.0.104) icmp_seq=2 Redirect Network(New nexthop: gateway (192.168.0.1)) From 192.168.0.104 (192.168.0.104): icmp_seq=2 Redirect Network(New nexthop: gateway (192.168.0.1)) 64 bytes from www.baidu.com (14.215.177.38): icmp_seq=2 ttl=54 time=27.3 ms From 192.168.0.104 (192.168.0.104) icmp_seq=3 Redirect Network(New nexthop: gateway (192.168.0.1)) From 192.168.0.104 (192.168.0.104): icmp_seq=3 Redirect Network(New nexthop: gateway (192.168.0.1)) 64 bytes from www.baidu.com (14.215.177.38): icmp_seq=3 ttl=54 time=27.5 ms From 192.168.0.104 (192.168.0.104) icmp_seq=4 Redirect Network(New nexthop: gateway (192.168.0.1)) From 192.168.0.104 (192.168.0.104): icmp_seq=4 Redirect Network(New nexthop: gateway (192.168.0.1)) 64 bytes from www.baidu.com (14.215.177.38): icmp_seq=4 ttl=54 time=27.4 ms From 192.168.0.104 (192.168.0.104) icmp_seq=5 Redirect Network(New nexthop: gateway (192.168.0.1)) From 192.168.0.104 (192.168.0.104): icmp_seq=5 Redirect Network(New nexthop: gateway (192.168.0.1)) --- www.a.shifen.com ping statistics --- 11 packets transmitted, 11 received, +10 errors, 0% packet loss, time 10025ms rtt min/avg/max/mdev = 27.190/27.798/29.236/0.646 ms [root@localhost ~]#
范例 2 :指定接收包的次数
指定接收 2 次来自远程主机的响应
ping 会在收到 2 次包后,自动退出
[root@localhost ~]# ping -c 2 www.baidu.com PING www.baidu.com (14.215.177.38) 56(84) bytes of data. 64 bytes from www.baidu.com (14.215.177.38): icmp_seq=1 ttl=54 time=28.0 ms From 192.168.0.104 (192.168.0.104) icmp_seq=2 Redirect Network(New nexthop: gateway (192.168.0.1)) --- www.baidu.com ping statistics --- 2 packets transmitted, 1 received, +1 errors, 50% packet loss, time 1003ms rtt min/avg/max/mdev = 28.083/28.083/28.083/0.000 ms [root@localhost ~]#
范例 3 : 多参数同时使用
使用 -i 3
发送周期为 3 秒 -s
设置发送包的大小 -t
设置 TTL 值为 255
[root@localhost ~]# ping -i 3 -s 1024 -t 255 -c 3 www.baidu.com PING www.baidu.com (14.215.177.38) 1024(1052) bytes of data. 1032 bytes from www.baidu.com (14.215.177.38): icmp_seq=1 ttl=54 time=26.1 ms From 192.168.0.104 (192.168.0.104) icmp_seq=2 Redirect Network(New nexthop: gateway (192.168.0.1)) From 192.168.0.104 (192.168.0.104): icmp_seq=2 Redirect Network(New nexthop: gateway (192.168.0.1)) 1032 bytes from www.baidu.com (14.215.177.38): icmp_seq=2 ttl=54 time=30.0 ms --- www.baidu.com ping statistics --- 2 packets transmitted, 2 received, +1 errors, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 26.147/28.100/30.053/1.953 ms [root@localhost ~]#