用途
检测主机是否可到达,也就是说,目标主机是否可以联网,还可以用于检测网速。通过发送ICMP ECHO_REQUEST数据包检测。
用法
ping [options] destination
常用选项
-A
根据round-trip time自适应调整每次发包的间隔时间
-b
允许ping广播地址
-c count
设置发送包数量,默认会一直发
-d
设置socket SO_DEBUG选项
-f
极限检测,尽最大可能发送最多的包
-i interval
发送下一个包需要等待的时间(单位:秒),默认是1秒
-I interface address
使用指定的网络界面发送ping包
-l preload
设置不需要等待回应发送的包数量
-n
只输出数值
-p pattern
设置填充数据包的范本样式
-q
输出汇总信息,不输出详情
-R
记录路由信息(看说明返回结果会显示,但是没有显示出来>_<)
-r
忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。
-s packetsize
设置包数据大小(单位:字节)
-S sndbuf
设置发送缓存区大小
-t ttl
设置存活数值
-v
详细输出
-V
显示程序版本信息
-w deadline
设置执行时间,单位:秒
-W timeout
等待响应超时,单位:秒
实践
1 检查百度地址,发送4个包
[root@vm ~]# ping -c 4 www.baidu.com
PING www.a.shifen.com (58.217.200.112) 56(84) bytes of data.
64 bytes from 58.217.200.112: icmp_seq=1 ttl=54 time=35.8 ms
64 bytes from 58.217.200.112: icmp_seq=2 ttl=54 time=103 ms
64 bytes from 58.217.200.112: icmp_seq=3 ttl=54 time=30.8 ms
64 bytes from 58.217.200.112: icmp_seq=4 ttl=54 time=30.1 ms
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3034ms
rtt min/avg/max/mdev = 30.138/50.015/103.231/30.804 ms
参考资料
【1】man ping
【2】ICMP协议原理
https://www.2cto.com/net/201108/100201.html
【3】每天一个linux命令(54):ping命令
http://www.cnblogs.com/peida/archive/2013/03/06/2945407.html