ping 命令 #
ping
命令是一个用于测试网络连接的基本网络工具。它通过发送 ICMP 回显请求包到指定的主机,并等待回显响应包来测试网络连通性和响应时间。
语法 #
ping [选项] 目标主机
常用选项 #
选项 | 描述 |
---|---|
-c 数量 |
指定发送的请求数量 |
-i 秒数 |
指定请求之间的间隔(秒) |
-s 大小 |
指定发送的数据包大小(字节) |
-t TTL |
设置 IP 生存时间(TTL)值 |
-W 秒数 |
设置响应超时时间(秒) |
-q |
安静模式,只显示摘要 |
-v |
详细模式 |
-4 |
强制使用 IPv4 |
-6 |
强制使用 IPv6 |
常见用法 #
1. 基本用法(持续 ping 直到手动停止) #
ping example.com
输出示例:
PING example.com (93.184.216.34) 56(84) bytes of data.
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=11.6 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=11.8 ms
64 bytes from 93.184.216.34: icmp_seq=3 ttl=56 time=11.7 ms
按Ctrl+C
停止。
2. 发送特定数量的 ping 请求 #
ping -c 4 example.com
输出示例:
PING example.com (93.184.216.34) 56(84) bytes of data.
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=11.6 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=11.8 ms
64 bytes from 93.184.216.34: icmp_seq=3 ttl=56 time=11.7 ms
64 bytes from 93.184.216.34: icmp_seq=4 ttl=56 time=11.9 ms
--- example.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 11.634/11.761/11.903/0.098 ms
3. 更改 ping 间隔 #
ping -i 2 -c 3 example.com
这会每 2 秒发送一次 ping 请求,共发送 3 次。
4. 更改数据包大小 #
ping -s 1000 -c 3 example.com
这会发送 1000 字节的数据包,共发送 3 次。
5. 设置超时时间 #
ping -W 1 -c 3 example.com
这会将响应超时时间设置为 1 秒。
6. 只显示摘要信息 #
ping -q -c 5 example.com
输出示例:
PING example.com (93.184.216.34) 56(84) bytes of data.
--- example.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 11.634/11.761/11.903/0.098 ms
7. 指定 IPv4 或 IPv6 #
ping -4 example.com # 强制使用IPv4
ping -6 example.com # 强制使用IPv6
8. 检查本地网络连接 #
ping -c 3 192.168.1.1
9. 使用 ping 检测网络延迟 #
ping -c 10 example.com
查看输出中的平均(avg)、最小(min)和最大(max)响应时间。
输出解释 #
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=11.6 ms
64 bytes
:接收到的数据包大小from 93.184.216.34
:响应的 IP 地址icmp_seq=1
:ICMP 序列号ttl=56
:生存时间值(数据包可以经过的路由器数量)time=11.6 ms
:往返时间(从发送到接收的时间)
统计信息解释 #
--- example.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 11.634/11.761/11.903/0.098 ms
4 packets transmitted
:发送的数据包数量4 received
:接收到的数据包数量0% packet loss
:丢包率time 3005ms
:总耗时rtt min/avg/max/mdev
:往返时间的最小值/平均值/最大值/平均偏差
提示 #
- 如果 ping 不通,可能是目标主机关闭、网络问题或防火墙阻止了 ICMP 包
- 许多服务器和防火墙配置为不响应 ping 请求,这是一种安全措施
- 高 ping 时间(>100ms)可能表示网络拥塞或距离远
- 丢包率高表示网络连接不稳定
- 使用
ping
和traceroute
结合可以更全面地诊断网络问题 - 在某些系统上,普通用户可能需要特殊权限才能使用某些 ping 选项