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 结束命令。
运行结果如下。
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
运行结果如下。
6 ping -c 指定发送数量
ping默认不停发送数据包,通过-c指定发送数量。
下面我们指定数量为5。
ping -c 5 baidu.com
可省略-c与数值间的空格,两者等价。
ping -c5 baidu.com
运行结果如下。
7 ping -i指定间隔时间
ping3次,每次间隔两秒。
ping -c3 -i2 baidu.com