如何在 Linux 中 Ping:使用和选项完整指南

如何在 Linux 中 Ping:使用和选项完整指南

信息技术数字 » Linux » 如何在 Linux 中执行 Ping:命令、选项和示例

Ping 使用 ICMP 检查连接性、延迟和数据包丢失

关键选项:-c、-i、-s、-4/-6、-D、-W/-w 用于精确测试

Traceroute/tracert 显示路由并定位有问题的跃点

诊断常见错误并检查防火墙可加快解决问题的速度

掌握 Linux 中的 ping 命令是解决网络问题时至关重要的技能之一。 使用 ping 可以检查连接性、延迟和可用性 在进行更复杂的诊断之前,要迅速做出诊断。

此外,诸如 traceroute/tracert 和类似 WinMTR 的混合实用程序等补充工具为您提供了了解数据包所遵循路径的窗口。 您将学习如何在 Linux、Windows 和 macOS 上使用 ping、解释输出、调整选项和排除故障。 一切如常,不会浪费时间。

什么是 ping 以及它有什么用途?

Ping 是一种诊断实用程序,它将 ICMP ECHO_REQUEST 数据包发送到目的地(IP、主机或域)并等待 ECHO_REPLY。 查看 TCP/IP 模型及其层 了解 ICMP 在哪一层起作用。 如果有响应,则表示主机可访问,并且我们会测量往返时间 (RTT)。它还报告字节大小、TTL(生存时间)和数据包丢失。

实际上,ping 每天都用于验证连接性、估计延迟、确认服务器可用性以及排除基本网络问题。 这是检测掉线、拥堵或有问题的路线的第一步 在进行深入分析之前。

Ping 的工作原理以及它具体测量什么

当您 ping 目的地时,该工具会发送一系列 ICMP 数据包并显示每个数据包的响应。 典型的输出字段包括字节、响应主机、icmp_seq、TTL 和时间(以毫秒为单位)。,加上一组最终统计数据。

响应行示例: 来自 64 的 185.185.185.185 个字节:icmp_seq = 1 ttl = 64 时间 = 0.1 ms。这里您可以看到有用的大小(56 字节 + 8 字节 ICMP 标头 = 64)、序列号、数据包生存期和 RTT。 最终统计数据包括传输、接收、丢失和 rtt min/avg/max/mdev.

何时使用 ping

Ping 在日常的很多场景中都很有用。 检查您的网站或在线商店是否响应、VPS 是否处于活动状态,或者您的 Wi-Fi 上的设备是否仍处于连接状态。如果您发现速度缓慢,它还会为您提供指导:高延迟或数据包丢失表示饱和或路由故障。

即使一切看起来都进展顺利,不时地 ping 一下也有助于检测潜在的问题。 建立延迟基线可以让你识别偏差 网络变化或流量激增之后。

ping 和 traceroute/tracert 之间的区别

ping 回答了经典问题“它到达了吗?需要多长时间?”,而 traceroute(Windows 上的 tracert)回答了问题“它去了哪里?”。 Traceroute 揭示每个中间跳及其时间 朝着目的地,找到发生损失或瓶颈的地方的关键。

将它们结合起来是理想的: 如果 ping 显示丢失,traceroute 会告诉你确切的跳数 问题就在这里。如果您想在 Windows 中将这两种视角结合到一个工具中,WinMTR 是一个不错的选择。

如何在 Windows 中 ping

在 Windows 上,打开 命令提示 (搜索“cmd”)并运行命令。 基本形式是:ping 目的地 (IP、主机或域名)。默认情况下,它发送 4 个数据包并显示统计信息。

ping 8.8.8.8

ping google.com

对于 Windows 中的常见选项: -n 定义回显号,-l 定义数据包大小,-w 定义超时时间(毫秒),-i 定义 TTL以 10 个 1400 字节的数据包为例:

ping -n 10 -l 1400 google.com

如何在 macOS 上 ping

在 macOS 上,打开终端(应用程序 > 实用程序 > 终端)或使用 Spotlight。 输入:ping 目的地并以 CTRL + C 结束 查看摘要。

ping 8.8.4.4

ping google.com

您还可以使用包含它的旧版本网络实用程序。 请记住,macOS 与 Linux 共享许多语法。,并且有很多选项符合。

适合程序员的最佳 Linux 发行版如何在 Linux 中 ping

在 Linux 中,打开终端(例如,使用 CTRL + ALT + T)并运行命令。 Ping 持续运行,直到您按下 CTRL + C,之后您将看到统计信息块。

ping 1.1.1.1

ping localhost

如果您需要检查 ping 是否已安装或者其版本是什么,您可以直接这样做。 在 Ubuntu/Debian 上,常用的包是 iputils-ping.

ping -V

sudo apt-get update && sudo apt-get install -y iputils-ping

通用语法和基本选项

通用形式为: ping 目标目标可以是 IP 地址、主机名或域;如果使用域,它将通过 DNS 进行解析。

-c N (Linux/macOS):限制软件包数量。有助于防止测试运行。

-a (Linux/macOS/Windows):可听见的 ping 声;每次响应都会发出一次哔声,对于后台诊断非常有用。

-i SEG (Linux/macOS):数据包间隔(以秒为单位);支持小数。所需权限少于 0.2 秒。

-q (Linux/macOS):静默输出;仅显示统计摘要。

-4 / -6 (Linux/macOS):分别强制 IPv4 或 IPv6。 在分割二进制文件的系统上,ping6 是 IPv6 变体。.

-s 字节 (Linux/macOS):ICMP 有效负载大小。默认值:56 字节(含 IP+ICMP 报头共 84 字节,额外 28 字节)。

-D (Linux/macOS):在每行开头添加类似 UNIX 的时间戳。

-W SEG (Linux/macOS):每个回显响应的最大等待时间;如果超过,则视为超时。

-w SEG (Linux/macOS):自动结束前的总测试时间。

鲜为人知的高级选项

对于细粒度的诊断,ping 提供了一系列很好的标志。 这些选项可帮助您调整路径、缓冲区、MTU、标记和可见性 信息:

-A:自适应 ping(根据响应调整速率)。

-b:允许 ping 广播地址。

-B:不要修改探测的源地址。

-d:在套接字上启用 SO_DEBUG。

-F 流标签(IPv6):为回显请求分配一个 20 位十六进制流标签。

-h:显示快速帮助。

-I 接口:设置输出接口。 对于具有多个 NIC 的计算机非常有用.

-l 预加载:发送几个初始数据包而不等待响应(高值需要特权)。

-L:阻止多播环回。

-m 标记:标记传出的数据包(对于路由策略有用)。

-M pmtudisc_opt:控制路径 MTU 发现策略。 使用适当的 -M 和 -s 检测有效 MTU.

-N 节点信息 (IPv6):节点信息选项。

-n:数字输出;避免解析名称。

-O:报告下次提交之前的待处理回复。

-p 模式:用一种模式(最多 16 个字节)填充有效载荷,以检测与数据相关的问题。

-什么咳嗽:定义TOS/DSCP。

-r:忽略正常路由表;直接从相邻接口转发。

-R:记录路线(受中级支持限制)。

-S sndbuf:套接字发送缓冲区的大小。

-t 生存时间 (Linux):定义 IP TTL。 在 Windows 上,TTL 使用 -i 设置.

-T:特殊 IP 时间戳选项(tsonly、tsandaddr、tsprespec)。

-U:显示用户到用户的总延迟,而不仅仅是网络延迟。

-v:详细输出; -V 显示版本。

案例研究:从基础到高级

检查一般互联网连接和解析名称是第一步。 您可以在 ping 域和 IP 之间切换以隔离 DNS 问题.

ping google.com

ping 8.8.8.8

检查本地堆栈可以节省您的时间: 如果失败,则问题出在您自己的设备上。,不在外部网络上。

ping localhost

ping 127.0.0.1

ping 0

在具有多个 NIC 的网络中,验证特定接口也很常见。 强制出站接口清除路由和表.

ping -I enp7s0 1.1.1.1

限制快速测试或脚本的包数量是经典做法。 -c 定义计数,-q 减少噪音 留下清晰的总结。

ping -c 5 -q 9.9.9.9

调整间隔可以让您在更短的时间内获得更多的样本或减少负载。 在 Linux 上低于 0.2 秒时,您需要特权.

ping -i 3 31.13.90.36

sudo ping -i 0.1 31.13.90.36

测试不同的数据包大小可以检测 MTU 或碎片问题。 请记住,IP 数据包的理论最大值为 65.535 字节(包括标头)。.

ping -s 1000 8.8.4.4

ping -M do -s 1472 google.com

时间戳使得峰值与事件之间的关联变得更加容易。 -D 将 UNIX 标记添加到每个响应行.

ping -D cloudflare.com

解释输出和统计数据

每条响应线都反映一个特定的测量值;最后的区块总结了该系列。 特别注意数据包丢失、最小/平均/最大/mdev rtt 和时间一致性。 评估稳定性。

--- destino ping statistics ---

X packets transmitted, Y received, Z% packet loss

rtt min/avg/max/mdev = A/B/C/D ms

建立基线:在正常条件下重复 ping 并保存通常的平均值。 如果平均延迟或 mdev 随后增加,则表示您的网络发生了变化。 (负载、路线、饱和或降级)。

什么是计算机网络?它用于什么?常见错误及其诊断方法

如果没有响应并且时间未到期,主机可能会丢弃 ICMP。 一些服务器和 CDN 通过策略阻止回显,这并不意味着服务中断。

“目标主机不可达”消息可能来自计算机本身或中间路由器。 如果是由你的主机发出的,就没有路由;如果来自远程一跳,外部网络就没有路径。 走向命运。

“超时”意味着请求已发送但响应尚未到达。 这可能是由于中间损失、过滤或路由不对称造成的。在这些情况下,依靠 traceroute 来定位有问题的跳跃。

如果您使用防火墙,请检查规则。 在 Linux 上,ICMP 上的 DROP/REJECT 规则将阻止接收或发送回显 看起来一切都崩溃了。

sudo iptables -L

# Localiza reglas sobre ICMP con DROP/REJECT

# Ajusta o elimina si procede (ejemplo genérico):

sudo iptables -D RULE_SPECIFICA

在移动设备上 Ping

Android 和 iOS 不包含可从标准界面访问的本机 ping。 简单的方法是使用专用应用程序。 方便随时随地进行快速测试。

在 Android 上,“Ping & Net”等选项运行良好;在 iOS 上,“Network Ping Lite”运行没有任何问题。 避免仅为了 ping 而进行 root 或越狱;可靠的应用程序就足够了。. 安装前请检查评级和权限。

Traceroute和tracert:查看数据包的路径

Linux 和 macOS 上的 Traceroute 以及 Windows 上的 tracert 显示从您的计算机到目的地的每一次跳转。 每行表示中间路由器和每次尝试的时间。如果您看到从某个点开始持续出现星号,则表示该路线已被切断或过滤。

# Windows

tracert ejemplo.com

# macOS/Linux

traceroute ejemplo.com

在经典 macOS 上,您可以使用网络实用程序(如果可用),其中有一个专用的 traceroute 选项卡。 在服务器环境中,终端将成为您的主要工具。.

使用 WinMTR 进行持续监控

WinMTR 结合了 Windows 上的 ping 和 traceroute 来查看一段时间内的路由稳定性。 输入主机或IP,开始测试约10-15分钟并复制报告。 进行分析或技术支持。

1) Descarga WinMTR (proyecto en SourceForge)

2) Field 'Host': escribe dominio o IP

3) Start y deja correr ~15 minutos

4) Usa 'Copy Text to clipboard' para compartir el resultado

良好做法和使用技巧

针对多个目标来隔离问题:您的网关、已知的 DNS 和终端主机。 比较结果可以揭示故障是内部故障、操作员故障还是目的地故障。.

除受控测试外,避免滥用洪水模式。 -f 全速发送数据包,可以模拟流量高峰;在获得许可并按照明确标准的情况下使用它。

sudo ping -f destino

结合使用工具以获得完整的视图。 Traceroute 定位有问题的跃点;iperf 测量带宽;Wireshark 支持深度数据包检查 当你需要深入细节时。

网络管理员职责:优化连接在支持 IPv6 的环境中,它会验证这两种协议。 强度 -4 或 -6 适当排除偏好或分辨率问题 双栈。

Windows、macOS 和 Linux 中的选项和特性

不同系统之间的标志有所不同。 在 Linux/macOS 上,-c 限制数据包,-i 间隔,-s 大小,-t TTL。在 Windows 上,-n、-l、-w 和 -i 起着类似的作用(单位和范围有所不同)。

每个系统中的有用示例: Windows:ping -n 4 -l 1200 域;Linux/macOS:ping -c 4 -s 1200 域。如果您不确定确切的语法,请咨询当地帮助。

# Linux/macOS

ping -c 4 -s 1200 google.com

ping -4 google.com

ping -6 google.com

# Windows

ping -n 4 -l 1200 google.com

DNS 检查和名称解析

如果 DNS 解析正确,则对有效域进行 ping 操作将会通过。 当域名解析时,您将在标头中看到目标 IP。 输出;如果解析失败,请检查您的 DNS 设置或 主机文件.

依靠 nslookup 等补充工具来验证日志。 Ping 检查可达性;nslookup 为您提供 DNS 数据。 这解释了一个意外的解决方案。

nslookup ejemplo.com

安全性、协议限制和 MTU

一些设备根据策略或为了防止滥用而阻止 ICMP。 不要仅仅因为缺少 ping 响应就认为服务中断。;通过 TCP/HTTP 或使用服务自己的工具进行检查。

请记住,Linux 中的默认有效载荷为 56 个字节;加上标头,总数增加到 84 个。 IP 数据包限制为 65.535 字节(包括标头)。,因此 -s 的有用大小必须考虑到开销。

要测量不带碎片的路径 MTU,请将 DF/PMTUD 与增加的大小结合起来。 设置 -M 和 -s 后,您将看到它从哪里开始失败 由于 MTU 不足。

ping -M do -s 1472 ejemplo.com

快速常见问题解答

ping 具体检查什么? 通过 ICMP 的 IP 连接和往返时间,报告丢失和延迟。

为什么域名有时不响应 ping? 由于许多服务器会过滤 ICMP,因此 Web 服务可能仍可运行。

如何在 Linux 和 macOS 上短 ping? CTRL + C;然后打印摘要统计数据。

可以将 ping 与 IPv6 一起使用吗? 是的,使用 -6,或者在使用 IPv6 的系统上使用 ping6。您将看到 IPvXNUMX 特定的地址和路由。

ping 在手机上能用吗? 是的,使用专用应用程序。避免不必要的 root/越狱,并使用信誉良好的应用程序。

以下是一份详细的指南,可帮助您从基础 ping 到高级 ping: 您可以验证本地和远程连接、调整范围和大小、诊断损失、使用 traceroute 了解路由以及使用 WinMTR 记录调查结果。系统地使用这些工具可以节省您数小时的盲测时间,并允许您准确地响应任何网络问题。

相关文章:Linux中的基本命令

目录

什么是 ping 以及它有什么用途?Ping 的工作原理以及它具体测量什么何时使用 pingping 和 traceroute/tracert 之间的区别如何在 Windows 中 ping如何在 macOS 上 ping如何在 Linux 中 ping通用语法和基本选项鲜为人知的高级选项案例研究:从基础到高级解释输出和统计数据常见错误及其诊断方法在移动设备上 PingTraceroute和tracert:查看数据包的路径使用 WinMTR 进行持续监控良好做法和使用技巧Windows、macOS 和 Linux 中的选项和特性DNS 检查和名称解析安全性、协议限制和 MTU快速常见问题解答

相关推荐

华为mate7售后更换电池价钱
365bet体育足球比分

华为mate7售后更换电池价钱

📅 08-07 👁️ 2628
怎样激活苹果平板电脑
best365网页版登录官方网

怎样激活苹果平板电脑

📅 08-12 👁️ 436