Linux ping命令参数有哪些?

99ANYc3cd6
预计阅读时长 15 分钟
位置: 首页 参数 正文

ping 命令简介

ping 是一个网络诊断工具,它使用 ICMP (Internet Control Message Protocol) 协议的 "Echo Request"(回显请求)消息来测试与另一台主机的网络连接,它会发送数据包到目标主机,并等待目标主机返回 "Echo Reply"(回显应答)。

linux ping命令 参数
(图片来源网络,侵删)

通过分析返回的应答,你可以判断:

  • 目标主机是否可达:是否收到了响应。
  • 网络延迟:数据包往返所需的时间(RTT, Round-Trip Time)。
  • 数据包丢失率:发送了多少数据包,收到了多少。

基本语法

ping [选项] 目标主机

目标主机 可以是 IP 地址(如 8.8.8)或域名(如 google.com)。


核心常用参数

这些参数在日常网络排查中最常用。

参数 全称 描述 示例
-c --count 指定发送数据包的数量,发送完指定数量的包后,ping 会自动退出。 ping -c 4 google.com (只发4个包)
-i --interval 指定发送数据包的时间间隔(单位:秒),默认值是1秒。注意:普通用户通常只能设置大于等于0.2秒的间隔,root 用户可以设置更小的值。 ping -i 2 192.168.1.1 (每2秒发一个包)
-s --size 指定发送数据包的大小(单位:字节),默认是56字节,加上ICMP头部8字节,总共是64字节。 ping -s 1472 192.168.1.1 (发送1472字节数据包)
-W --timeout 指定等待每一回显响应的超时时间(单位:秒),如果在超时时间内没有收到响应,ping 会认为该包丢失,默认是10秒。 ping -W 1 192.168.1.1 (等待响应最多1秒)
-w --deadline 指定 ping 命令运行的总时间(单位:秒),无论发送了多少个数据包,与 -c 类似,但一个是按数量结束,一个是按时间结束。 ping -w 10 google.com (总共运行10秒)

其他重要参数

这些参数在特定场景下非常有用。

linux ping命令 参数
(图片来源网络,侵删)
参数 全称 描述 示例
-f --flood 洪水模式,以最快速度发送大量数据包,每发送一个数据包就打印一个点,这会占用大量网络带宽,通常需要 root 权限。 sudo ping -f 192.168.1.1
-l --preload 在发送第一个数据包之前,预先发送多个数据包,必须与 -f 一起使用。 sudo ping -f -l 5 192.168.1.1 (先发5个包)
-q --quiet 静默模式,只输出摘要信息(总发送、接收、丢失、时间统计),不显示每个包的详细信息。 ping -q -c 4 google.com
-A --adaptive 自适应模式,根据网络延迟动态调整发包间隔,以避免在网络拥塞时增加负担。 ping -A google.com
-D --timestamp 在每个输出行前打印时间戳,格式为 [timestamp],方便与其他日志关联分析。 ping -D google.com
-n --numeric 只输出 IP 地址,不尝试将地址解析为主机名,可以加快速度,避免 DNS 查询失败的影响。 ping -n 192.168.1.1
-p --pattern 指定填充数据包的十六进制模式,用于测试数据包内容是否被修改。 ping -p ff 192.168.1.1 (用0xff填充数据包)
-R --record-route 记录路由,要求路由器记录数据包的路径,但很多路由器会忽略这个选项。 ping -R 192.168.1.1
-t --tos 设置服务类型 (Type of Service),设置低延迟、高吞吐量等。 ping -t 0x10 192.168.1.1 (设置低延迟)
-v --verbose 详细模式,显示 ICMP 数据包的详细信息。 ping -v google.com
-4 -ipv4 强制使用 IPv4,在有 IPv6 地址的环境下,可以明确指定使用 IPv4 协议进行 ping。 ping -4 google.com
-6 -ipv6 强制使用 IPv6,与 -4 相对,明确使用 IPv6 协议。 ping -6 ipv6.google.com

实战示例

示例 1:快速测试与 google.com 的连接

这是最常见的用法,发送4个包后自动退出。

ping -c 4 google.com

输出解读:

PING google.com (142.250.185.78) 56(84) bytes of data.
64 bytes from lhr4s01-in-f14.1e100.net (142.250.185.78): icmp_seq=1 ttl=116 time=15.2 ms
64 bytes from lhr4s01-in-f14.1e100.net (142.250.185.78): icmp_seq=2 ttl=116 time=16.1 ms
64 bytes from lhr4s01-in-f14.1e100.net (142.250.185.78): icmp_seq=3 ttl=116 time=15.8 ms
64 bytes from lhr4s01-in-f14.1e100.net (142.250.185.78): icmp_seq=4 ttl=116 time=15.5 ms
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 15.231/15.610/16.112/0.345 ms
  • 4 packets transmitted, 4 received, 0% packet loss: 发送4个,收到4个,丢包率0%,连接良好。
  • rtt min/avg/max/mdev: 往返时间的最小值、平均值、最大值和标准差,数值越小且稳定,说明网络延迟越低。

示例 2:以更快的速度发包(每0.5秒一个)

ping -i 0.5 192.168.1.1

注意:普通用户可能没有权限设置小于0.2秒的间隔,此时会提示 ping: cannot flood; minimal interval is 200ms

示例 3:测试更大的数据包(常用于 MTU 路径发现)

ping -s 1472 192.168.1.1

小知识:以太网帧的 MTU (Maximum Transmission Unit) 通常是1500字节,减去IP头部(20字节)和ICMP头部(8字节),最大有效数据载荷是1472字节,如果发送大于1472的包,可能会在中间路由器被分片或丢弃,可用于排查 MTU 问题。

linux ping命令 参数
(图片来源网络,侵删)

示例 4:静默模式,只看统计结果

ping -q -c 5 8.8.8.8

输出:

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 8.521/9.110/9.821/0.493 ms

非常适合用在脚本中,只关心最终结果。


ping 的工作原理

  1. 构建 ICMP Echo Request 包ping 命令会创建一个 ICMP Echo Request 数据包,并将其封装在一个 IP 数据包中。
  2. 发送数据包:IP 数据包被发送到目标主机的 IP 地址。
  3. 路径上的路由器:数据包经过沿途的路由器,每个路由器都会查看 IP 头部,决定下一跳的地址,并将 TTL (Time To Live) 值减1。
  4. 目标主机接收:当数据包到达目标主机时,目标主机的操作系统会识别出这是一个 ICMP Echo Request 包。
  5. 发送 ICMP Echo Reply:目标主机会创建一个 ICMP Echo Reply 包,并将其发回给源主机。
  6. 计算时间:源主机在发送 Echo Request 的同时记录时间,在收到 Echo Reply 后再次记录时间,两者之差就是往返时间。
  7. TTL 耗尽:TTL 在到达目标主机前减为0,最后一个处理该包的路由器会发送一个 "Time Exceeded" (ICMP 类型11) 的消息给源主机,告知数据包已过期。

注意事项

  • 防火墙:如果目标主机有防火墙,可能会阻止 ICMP 请求,导致 ping 失败。ping 失败不代表网络一定不通,可能只是对方禁用了 ICMP。
  • 权限:某些高级参数(如 -f)需要 rootsudo 权限才能使用。
  • 网络负载ping 会产生网络流量,在生产环境的网络上进行 ping -f 测试可能会对其他业务造成严重影响,请谨慎使用。
-- 展开阅读全文 --
头像
Surface Pro4参数有哪些值得关注的亮点?
« 上一篇 今天
Inspiron 3452拆机后内部结构有何变化?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

最近发表

标签列表

目录[+]