Linux命令之 ping命令
warning:
这篇文章距离上次修改已过1792天,其中的内容可能已经有所变动。
ping命令通常用来测试与目标主机的连通性,它通过发送ICMP ECHO_REQUEST数据包到网络主机(send ICMP ECHO_REQUEST to network hosts),并显示响应情况,这样我们就可以根据它输出的信息来确定目标主机是否可访问(但这不是绝对的)。
有些服务器为了防止通过ping探测到,通过防火墙设置了禁止ping或者在内核参数中禁止ping,这样就不能通过ping确定该主机是否还处于开启状态。
info:linux下ping不会自动终止,需要按
ctrl+c
终止或用参数-c
指定次数。命令语法
ping [参数] [主机名或IP地址]
附加参数
参数 | 说明 |
---|---|
-d | 使用Socket的SO_DEBUG功能。 |
-f | 极限检测。大量且快速地送网络封包给一台机器,看它的回应。 |
-n | 只输出数值。 |
-q | 不显示任何传送封包的信息,只显示最后的结果。 |
-r | 忽略普通的Routing Table,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。 |
-R | 记录路由过程。 |
-v | 详细显示指令的执行过程。 |
-c 数目 | 在发送指定数目的包后停止。 |
-i 秒数 | 设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。 |
-I 网络界面 | 使用指定的网络界面送出数据包。 |
-l 前置载入 | 设置在送出要求信息之前,先行发出的数据包。 |
-p 范本样式 | 设置填满数据包的范本样式。 |
-s 字节数 | 指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。 |
-t 存活数值 | 设置存活数值TTL的大小。 |
常用范例
ping网关
ping -b 127.0.0.1

ping指定次数
ping -c 2 127.0.0.1

时间间隔和次数限制的ping
# ping 2次;发送周期 0.5秒
ping -c 2 -i 0.5 127.0.0.1

通过域名ping公网上的站点
ping -c 5 pi.idzd.top

多参数使用
#发送周期 3秒;发送包大小 1024;TTL值为 255;
ping -i 3 -s 1024 -t 255 pi.idzd.top
