当前位置:首页>Linux>Linux命令每日一清单009:ping--网络连通性测试命令速查表

Linux命令每日一清单009:ping--网络连通性测试命令速查表

  • 2026-09-10 16:21:40
Linux命令每日一清单009:ping--网络连通性测试命令速查表

ping(Packet Internet Groper)是最基础、最常用的网络诊断工具,通过发送ICMP(Internet Control Message Protocol)回显请求包并等待回显应答,来测试目标主机是否可达,并测量往返延迟时间。ping命令的名称源自声纳探测时发出的脉冲声音,形象地描述了其工作原理。

作为网络工程师和系统管理员的必备工具,ping可以帮助我们快速判断网络连通性、DNS解析是否正常、路由是否可达、网络延迟情况等。无论是排查“上不了网”的日常问题,还是监控网络质量,ping都是第一道防线。

1. 基本语法

命令说明
ping baidu.com/hostname
持续ping目标主机(Ctrl+C停止)
ping -c 4 baidu.com
发送4个请求后自动停止
ping -i 2 baidu.com
每隔2秒发送一个包
ping -w 10 baidu.com
10秒后停止(无论发送了多少包)
ping --help
显示可用选项

2. 常用连通性测试

命令说明
ping baidu.com
测试DNS解析和公网连通性
ping 8.8.8.8
测试到Google DNS的连通性(不依赖DNS)
ping 223.5.5.5
测试到国内公共DNS的连通性
ping localhost
验证本机TCP/IP协议栈是否正常
ping 192.168.1.1
测试到网关的连通性
ping $(hostname -I | awk '{print $1}')
ping自己的IP地址

3. 计数与时间控制

命令说明
ping -c 3 baidu.com
精确发送3个包
ping -c 5 -i 0.5 baidu.com
发送5个包,间隔0.5秒
ping -w 5 baidu.com
5秒后停止(无论是否收到回复)
ping -c 10 -q baidu.com
发送10个包后仅显示统计摘要
ping -c 100 -i 0.2 baidu.com > ping.log
批量测试并将结果保存到文件

4. IPv4与IPv6

命令说明
ping -4 baidu.com
强制使用IPv4
ping -6 baidu.com
强制使用IPv6
ping6 baidu.com
部分系统提供的专用IPv6 ping命令
ping -c 4 -4 example.com
测试双栈主机的IPv4响应
ping -c 4 -6 example.com
测试双栈主机的IPv6响应

5. 包大小与接口指定

命令说明
ping -s 1400 baidu.com
发送1400字节的包(测试大包传输)
ping -s 1472 baidu.com
测试MTU边界(1500-28=1472)
ping -s 56 baidu.com
显式使用默认包大小(56字节数据+28字节ICMP头=84字节)
ping -I eth0 baidu.com
从指定网卡发送包
ping -I 192.168.1.10 baidu.com
使用指定源IP地址
ping -D baidu.com
在输出前打印Unix时间戳

6. 实用组合模式

命令说明
ping -c 4 baidu.com && echo "网络正常" || echo "网络故障"
根据ping结果执行不同操作
while true; do ping -c 1 -W 1 baidu.com > /dev/null && date +"%T 正常" || date +"%T 故障"; sleep 5; done
持续监控网络状态
ping -s 1472 -M do -c 1 baidu.com
测试路径MTU(不允许分片)
fping -g 192.168.1.0/24
使用fping批量ping整个子网(需安装fping)

7. ping输出解读

输出内容含义
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.23 ms
成功回复:字节数、源IP、序列号、TTL、往返时间
Destination Host Unreachable
目标主机不可达(路由问题)
Request timeout for icmp_seq 0
请求超时(未收到回复)
ping: baidu.com: Name or service not known
DNS解析失败
1 packets transmitted, 1 received, 0% packet loss
统计信息:发送/接收/丢包率
min/avg/max/mdev = 1.123/1.456/1.789/0.123 ms
最小/平均/最大/标准差延迟

8. 常用选项速查

选项完整名称说明
-c
--count
发送包的数量
-i
--interval
发送间隔(秒,默认1秒)
-w
--timeout
总超时时间(秒)
-W
--deadline
单个回复等待时间(秒)
-s
--packetsize
指定数据包大小(字节)
-I
--interface
指定网卡或源IP
-4
--ipv4
强制使用IPv4
-6
--ipv6
强制使用IPv6
-D
--timestamp
打印时间戳
-q
--quiet
静默模式(只显示统计)
-f
--flood
洪水ping(需root权限,压力测试用)
-M
--mtu
设置MTU探测(do/dont/want)

9. 故障排查指南

问题解决方法
Name or service not known
DNS解析失败,直接用IP地址测试:ping 8.8.8.8
Destination Host Unreachable
检查路由表:ip route;确认网关是否正常;检查本地网络连接
100% packet loss
目标可能宕机、防火墙拦截ICMP、网络中断;尝试ping网关判断故障范围
ping: socket: Operation not permitted
某些系统需要root权限,使用sudo或检查容器环境
IPv6 ping fails only
确认目标是否有AAAA记录:dig AAAA example.com;检查IPv6网络配置
高延迟或丢包
使用mtr命令进行路由追踪分析;检查网络带宽使用情况
部分ping成功部分失败
负载均衡或防火墙策略可能导致;尝试连续ping观察规律

提示: ping是排查网络问题的起点,但不是终点。当ping失败时,建议采用“由近及远”的原则:先ping本地地址(127.0.0.1),再ping本机IP,然后ping网关,最后ping公网地址,逐步定位故障点。需要注意的是,某些网络环境或防火墙会屏蔽ICMP请求,此时ping失败并不代表服务不可用,可以使用telnet或curl进一步验证。

本文PDF格式下载:

  关注公众号(haopython),请回复: LLTPING

最新文章

随机文章