Linux 判断网络是否连通 ping

ping命令用于判断当前主机与目标的网络是否连通。


1 基本原理

执行ping命令,当前主机会向目标主机发送数据包,目标同时会向当前主机返回数据包。根据当前主机接收到数据包的情况,返回相应结果:数据包大小、响应时间、等。


注:虚拟机中ping的TTL数值可能不准确。


2 语法

ping 选项 目标主机

目标主机:通常为对方主机的域名或IP地址。

可通过 ping -help查看帮助。


3 常用选项

常用选项 说明
-c count,发送数据包个数
-i interval,发送的间隔时间,默认为1秒
-s packetsize,数据包大小

4 ping域名

本地虚拟 ping百度(www.baidu.com)。

ping www.baidu.com

默认情况下,会不停发送数据包,按Ctrl+C 结束命令。

运行结果如下。

img

64 bytes from 157.148.69.80 (157.148.69.80): icmp_seq=1 ttl=128 time=24.5 ms

响应项 含义
64bytes 表示发送的数据包大小,64字节
157.148.69.80 域名解析到的服务器IP
icmp_seq=1 数据包的序号,依次1,2,递增
ttl=128 TTL大小。
time=24.5 ms 响应时间,单位为毫秒

9 packets transmitted, 9 received, 0% packet loss, time 8014ms

rtt min/avg/max/mdev = 23.923/26.752/33.224/3.415 ms

响应项汇总 含义
9 packets transmitted 发送数据包个数,9
9 received 返回响应包个数,9
0% packet loss 数据包的损失率,0
time 8014ms 总时长。默认每秒发送1个包
rtt min/avg/max/mdev TTL最小值、平均值、最大值、偏离度(越大越不稳定)

5 ping IP地址

我们在ping百度域名得到对应的IP地址,也可以直接ping IP地址。

(注:不同时间不同地点这个IP地址可能不同,以当前实际运行结果为准。)


IP地址可以是外网IP、内网IP或本机IP。

这里我们继续ping百度的IP地址。

ping 157.148.69.80

运行结果如下。

img


6 ping -c 指定发送数量

ping默认不停发送数据包,通过-c指定发送数量。

下面我们指定数量为5。

ping -c 5 baidu.com

可省略-c与数值间的空格,两者等价。

ping -c5 baidu.com

运行结果如下。

img


7 ping -i指定间隔时间

ping3次,每次间隔两秒。

ping -c3 -i2 baidu.com

img