易君召
发布于 2026-08-08 / 作者:易君召 / 2 阅读
0

ping 命令跨操作系统详解

ping 基于 ICMP 协议,发送 ICMP Echo 请求报文,接收方回复 ICMP Echo 应答,用来检测网络连通性、延迟、丢包。

⚠️ 注意:部分防火墙会拦截 ICMP,ping 不通≠业务端口不通,只是 ICMP 报文被丢弃。

Windows(CMD/PowerShell)

基础用法

cmd

ping 目标IP/域名
ping www.baidu.com
ping 192.168.1.1

Windows 默认发送 4 个数据包,自动停止

常用参数

参数

作用

-t

持续 ping,不会自动停止Ctrl+C终止

-n 次数

指定发送数据包数量,例 ping -n 10 www.baidu.com

-l 大小

设置数据包载荷大小 (字节),ping -l 1000 192.168.1.1

-w 毫秒

设置超时等待时间,默认 4000ms

示例:持续 ping 网关

cmd

ping -t 192.168.1.1

Linux(Ubuntu、Debian、openEuler、CentOS、银河麒麟等)

Linux 默认无限持续发包,按 Ctrl + C 停止

基础用法

bash

ping www.baidu.com
ping 8.8.8.8

常用参数

参数

作用

-c N

指定发送包数量,等价 Windows -nping -c 4 www.baidu.com

-s 字节

设置数据包载荷大小,ping -s 1000 192.168.1.1

-W 秒

超时时间,单位秒

-i 间隔

发包间隔秒,普通用户不能小于 0.2

示例:发 5 个包就结束

bash

ping -c 5 114.114.114.114

root 可以用 -f 洪水 ping,压力测试,谨慎使用,会产生大量流量。

macOS

macOS ping 参数和 Linux 几乎完全一致,同样默认无限 ping,Ctrl+C停止。

bash

# 发送4个包退出
ping -c 4 www.baidu.com
# 设置包大小
ping -s 1200 192.168.1.1

WSL2 (Windows Subsystem for Linux)

WSL 内部是 Linux 环境,使用Linux 版本 ping,参数和原生 Linux 一致。

注意:WSL2 ping Windows 主机 IP,需要注意 Windows 防火墙放行 ICMP,否则会丢包。

bash

ping -c 3 192.168.1.100

重要差异对照表

功能

Windows(cmd)

Linux/macOS/WSL2

默认行为

发送 4 包自动结束

无限发包,Ctrl+C 停止

指定包数量

-n 4

-c 4

持续不断 ping

-t

不加参数,Ctrl+C 停止

数据包大小

-l 1000

-s 1000

超时时间

-w 毫秒

-W 秒

常见输出字段解读

plaintext

来自 14.215.177.38 的回复: 字节=32 时间=22ms TTL=56
  • 字节:数据包大小

  • 时间:往返延迟 RTT,毫秒,越小网络越好

  • TTL:生存时间,每经过一台路由器 TTL 减 1,可以粗略判断经过多少跳。

排坑提醒

  1. 能 ping 通,不代表端口能访问:ping 用 ICMP;web/ssh 是 TCP/UDP,需要用 telnet /nc/curl 测试端口。

  2. 很多云服务器、防火墙会禁止 ICMP 应答,ping 返回请求超时,但业务正常。

  3. Windows PowerShell 完全兼容 CMD 的 ping 参数。

  4. IPv6 ping:

    • Windows: ping -6 ipv6.google.com

    • Linux/macOS: ping6 ipv6.google.com


本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。

原文链接 https://www.yijunzhao.cn/archives/ping-command-cross-platform-guide

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/