What is Ping? → 什么是 Ping?

🌐 网络连通性检测工具 · ICMP协议核心应用
$ ping example.com

Ping vs 其他检测方式

Ping 检测

基于ICMP协议
工作在网络层,无需端口
检测网络连通性
快速判断主机是否可达
测量往返时间
精确计算RTT延迟

其他方式

Telnet
检测端口是否开放
Traceroute
追踪路由路径与跳数
Curl
HTTP层面的请求检测

ICMP 协议数据格式

Echo Request 请求包

Type 8 (Echo Request)
Code 0
Checksum 校验和 (2字节)
Identifier 标识符 (2字节)
Sequence Number 序列号 (2字节)
Data 数据载荷 (变长)

Echo Reply 响应包

Type 0 (Echo Reply)
Code 0
Checksum 校验和 (2字节)
Identifier 标识符 (2字节)
Sequence Number 序列号 (2字节)
Data 数据载荷 (变长)
Type 消息类型
Code 消息代码
Checksum 完整性校验
Identifier 匹配请求与响应
Seq Num 包序号递增
Data 时间戳+填充

Ping 使用场景

网络连通性检测

快速判断目标主机是否可达,验证网络链路状态

延迟测量

测量数据包往返时间(RTT),评估网络性能

丢包率统计

统计丢包比例,判断网络稳定性与质量

DNS解析测试

验证域名是否能正确解析为IP地址

网络故障排查

定位网络断点,辅助排查连通性问题

服务健康监控

定时Ping服务器,监控其在线状态

Ping 工作原理流程 ⭐ 核心流程

发送端(步骤 1-4)
1

用户输入命令

终端执行
ping example.com

2

DNS解析

域名 → IP地址
如 93.184.216.34

3

构建ICMP包

创建 Echo Request
Type=8, Code=0

4

发送请求

通过IP层发送
ICMP包至目标

网络传输(步骤 5)
5

网络路由

数据包经路由器逐跳转发
到达目标主机

接收端(步骤 6-7)
6

接收ICMP包

目标主机收到
Echo Request

7

生成回复

创建 Echo Reply
Type=0, Code=0

返回传输(步骤 8)
8

返回路由

响应包经网络返回
源主机

接收响应(步骤 9-10)
9

接收回复

源主机收到
Echo Reply

10

计算统计

计算RTT、丢包率
输出统计报告

Ping 优缺点分析

优点

简单易用,一行命令即可检测
跨平台支持(Windows/macOS/Linux)
快速检测网络连通性
精确测量网络延迟(RTT)
系统自带,无需额外安装

缺点

某些网络禁用ICMP协议
无法检测端口开放状态
可能被防火墙拦截过滤
不能检测应用层问题
存在安全风险(Ping Flood攻击)