核心默认参数
在 Windows 命令提示符(CMD)或 PowerShell 中,直接输入 ping <目标地址>(ping google.com)时,系统会使用一组预设的默认参数,这个默认组合是:

(图片来源网络,侵删)
ping -n 4 -w 4000 -l 32 <目标地址>
我们来逐一分解这些参数的含义:
| 参数 | 全称 | 默认值 | 含义 |
|---|---|---|---|
| (无) | 命令本身,用于测试网络连接。 | ||
| -n | count | 4 | 发送回显请求(数据包)的次数,默认发送 4 个数据包后停止。 |
| -w | timeout | 4000 | 等待每个回显回复的超时时间(毫秒),默认等待 4000 毫秒(即 4 秒),如果在 4 秒内没有收到目标主机的回复,该数据包将被视为“超时”(Request timed out)。 |
| -l | size | 32 | 发送数据包的大小(字节),默认发送 32 字节的数据。注意:这个大小是数据部分的大小,不包括 IP 和 ICMP 头部。 |
| (无) | 目标地址,可以是域名(如 google.com)或 IP 地址(如 250.196.68)。 |
一个完整的默认 ping 示例
当你执行 ping google.com 时,后台实际执行的命令是 ping -n 4 -w 4000 -l 32 google.com,其输出通常会是这样:
Pinging google.com (142.250.196.68) with 32 bytes of data:
Reply from 142.250.196.68: bytes=32 time=15ms TTL=118
Reply from 142.250.196.68: bytes=32 time=16ms TTL=118
Reply from 142.250.196.68: bytes=32 time=14ms TTL=118
Reply from 142.250.196.68: bytes=32 time=15ms TTL=118
Ping statistics for 142.250.196.68:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 14ms, Maximum = 16ms, Average = 15ms
与 Linux/macOS ping 的关键区别
这是一个非常重要的知识点,Windows 的 ping 默认行为与 Linux 和 macOS 有显著不同:
| 特性 | Windows ping (默认) |
Linux/macOS ping (默认) |
|---|---|---|
| 发送次数 | 固定次数(4次),然后自动停止。 | 无限循环发送,直到用户手动按下 Ctrl + C 中止。 |
| 数据包大小 | 32 字节。 | 56 字节的数据部分,加上 8 字节的 ICMP 头部,总共 64 字节。 |
| 行为 | 更适合快速检查连接性。 | 更适合持续监控网络状态。 |
常用其他参数
除了默认参数,ping 还有许多其他有用的参数,可以通过在命令行输入 ping /? 来查看完整列表。

(图片来源网络,侵删)
以下是一些最常用的参数:
| 参数 | 全称 | 示例 | 说明 |
|---|---|---|---|
| -t | ping -t google.com |
持续 Ping,向目标主机连续发送数据包,直到用户手动按 Ctrl + C 停止。 |
|
| -a | resolve-hostname | ping -a 142.250.196.68 |
反向解析,尝试将目标 IP 地址解析为主机名。 |
| -n | count | ping -n 10 google.com |
指定发送数据包的次数(默认为4)。 |
| -l | size | ping -l 1472 google.com |
指定发送数据包的大小(默认为32),注意:最大值通常是 65507 - IP头(20) - ICMP头(8) = 65479 字节,但在实际网络中,MTU(最大传输单元)限制会更小。 |
| -f | flood | ping -f -l 1472 google.com |
flood 模式,发送高速率的数据包,需要管理员权限。警告: 此模式可能会对目标网络造成压力,请谨慎使用。 |
| -i | ttl | ping -i 128 google.com |
设置生存时间 (Time To Live),指定数据包在网络中可以经过的路由器数量(默认根据操作系统不同,通常是 128 或 64)。 |
| -w | timeout | ping -w 1000 google.com |
设置超时时间(毫秒),默认为 4000 毫秒。 |
| -4 | ping -4 google.com |
强制使用 IPv4,当目标同时拥有 IPv4 和 IPv6 地址时,强制使用 IPv4 进行 Ping。 | |
| -6 | ping -6 google.com |
强制使用 IPv6,强制使用 IPv6 进行 Ping。 |
如何查看所有参数
任何时候,如果你忘记了某个参数的用法,都可以使用 开关来获取帮助:
- 打开命令提示符(CMD)或 PowerShell。
- 输入
ping /?并按回车。
你将看到类似下面的帮助信息,其中包含了所有可用参数的详细说明:
用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i ttl] [-v tos]
[-r count] [-s count] [-j host-list] | [-k host-list]
[-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
[-4] [-6] target_name
选项:
-t Ping 指定的主机,直到停止。
要查看统计信息并继续操作,请键入 Ctrl+Break;
要停止,请键入 Ctrl+C。
-a 将地址解析为主机名。
-n count 要发送的回显请求数。
-l size 发送缓冲区大小。
-f 在数据包中设置“不分段”标志(仅适用于 IPv4)。
-i ttl 生存时间。
-v tos 服务类型(仅适用于 IPv4,该设置已被弃用,
对 IP 标头中的服务类型字段没有 effect)。
-r count 记录计数跃点的路由(仅适用于 IPv4)。
-s count 计数跃点的时间戳(仅适用于 IPv4)。
-j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。
-k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。
-w timeout 等待每次回复的超时时间(毫秒)。
-R 同样使用路由标头测试反向路由(仅适用于 IPv6)。
-S srcaddr 要使用的源地址。
-c compartment 路由隔离 compartment ID。
-p Ping Hyper-V 网络虚拟化提供程序地址。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
- 核心默认:
ping默认发送 4 个 32 字节的数据包,每个包等待 4 秒超时。 - 关键区别:Windows
ping默认发送 4次后停止,而 Linux/macOS 默认 无限循环。 - 常用技巧:使用
ping -t <地址>可以持续监控网络连接,非常适合观察网络是否稳定或中断。

(图片来源网络,侵删)
