ping命令的功能是测试主机间网络的连通性,它发送出基于ICMP传输协议的数据包,要求对方主机予以回复。若对方主机的网络功能没有问题且防火墙放行流量,则就会回复该信息,我们也就可得知对方主机系统在线并运行正常了。

不过值得注意的是,ping命令在Linux下与在Windows下有一定差异,Windows系统下的ping命令会发送出去4个请求后自动结束该命令;而Linux系统则不会自动终止,需要用户手动按下Ctrl+C组合键才能结束,或是发起命令时加入-c参数限定发送数据包的个数。

语法格式:ping 参数 域名或IP地址

常用参数:

-4基于IPv4网络协议 -I使用指定的网络接口送出数据包
-6基于IPv6网络协议-n仅输出数值
-a发送数据时发出鸣响声-p设置填满数据包的范本样式
-b允许ping一个广播地址-q静默执行模式
-c设置发送数据包的次数-R记录路由过程信息
-d使用接口的SO_DEBUG功能-s设置数据包的大小
-f使用泛洪模式大量向目标发送数据包-t设置存活数值TTL的大小
-h显示帮助信息-v显示执行过程详细信息
-i设置收发信息的间隔时间-V显示版本信息

参考示例

测试与指定域名之间的网络连通性(需手动按下Ctrl+C组合键结束命令):

[root@linuxcool ~]# ping www.linuxcool.com 
PING www.linuxcool.com.w.kunlunar.com (222.85.26.229) 56(84) bytes of data. 
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=1 ttl=52 time=22.4 ms 
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=2 ttl=52 time=22.4 ms 
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=3 ttl=52 time=22.4 ms 
64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=4 ttl=52 time=22.4 ms 
^C 
--- www.linuxcool.com.w.kunlunar.com ping statistics --- 
5 packets transmitted, 5 received, 0% packet loss, time 4005ms 
rtt min/avg/max/mdev = 22.379/22.389/22.400/0.094 ms 

测试与指定主机之间的网络连通性,发送请求包限定为4个:

[root@linuxcool ~]# ping -c 4 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.063 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.088 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.049 ms
64 bytes from 192.168.10.10: icmp_seq=4 ttl=64 time=0.046 ms

--- 192.168.10.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 110ms
rtt min/avg/max/mdev = 0.046/0.061/0.088/0.018 ms

测试与指定域名之间的网络连通性,发送请求包限定为4个:

[root@linuxcool ~]# ping -c 4 www.linuxcool.com 
PING www.linuxcool.com (222.85.26.234) 56(84) bytes of data. 
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=1 ttl=52 time=24.7 ms 
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=2 ttl=52 time=24.7 ms 
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=3 ttl=52 time=24.7 ms 
64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=4 ttl=52 time=24.7 ms 

--- www.linuxcool.com.w.kunlunar.com ping statistics --- 
4 packets transmitted, 4 received, 0% packet loss, time 3005ms 
rtt min/avg/max/mdev = 24.658/24.664/24.673/0.111 ms 

测试与指定主机之间的网络连通性,发送3个请求包,每次间隔0.2s,最长等待时间为3s:

[root@linuxcool ~]# ping -c 3 -i 0.2 -W 3 192.168.10.10 
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.166 ms 
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.060 ms 
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.113 ms 

--- 192.168.10.10 ping statistics --- 
3 packets transmitted, 3 received, 0% packet loss, time 410ms 
rtt min/avg/max/mdev = 0.060/0.113/0.166/0.043 ms
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。