Linux Ping 命令:7 个实际示例 | 您所在的位置:网站首页 › 游戏数据包大小怎么调 › Linux Ping 命令:7 个实际示例 |
Linux Ping 命令:7 个实际示例
以下是 Linux 中 ping 命令的一些最常见用法及其解释。 Ping 是 Linux 和其他操作系统中最常用的网络命令之一。 Ping 主要用于检查远程主机是否可达。远程主机可以是 Web 服务器、路由器或本地网络上的系统。 ping 是如何工作的?它实际上向远程主机发送小 ICMP 数据包并等待响应。如果主机已启动,您应该会看到响应。 这就像潜艇中使用的声纳技术。潜艇发送音频信号脉冲并等待回声返回。 那么,如何在 Linux 中使用 Ping 呢?有哪些不同的 Ping 命令选项?让我向您展示 Ping 命令的一些常见用法。 💡你可知道? Ping 命令正确地写作 PING,它代表 Packet Internet Groper。在 Linux 中使用 ping 命令大多数 Linux 发行版都附带此命令。但它可能无法在容器中使用。要在 Ubuntu 或其他此类系统上安装 Ping,您必须安装 iputils-ping 软件包。 一旦您的系统上可用,您就可以使用带有 IP 地址或主机名/URL 的 ping 命令。 假设我 ping Google。它将向 google.com 发送大小为 56 字节的 ICMP 数据包。 ping google.com PING google.com (108.177.122.102) 56(84) bytes of data. 64 bytes from 108.177.122.102 (108.177.122.102): icmp_seq=1 ttl=42 time=325 ms 64 bytes from 108.177.122.102 (108.177.122.102): icmp_seq=2 ttl=42 time=387 ms 64 bytes from 108.177.122.102 (108.177.122.102): icmp_seq=3 ttl=42 time=319 ms 64 bytes from 108.177.122.102 (108.177.122.102): icmp_seq=4 ttl=42 time=321 ms ^C --- google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3002ms rtt min/avg/max/mdev = 319.697/338.496/387.785/28.527 ms您必须手动停止 ping 命令,否则它会继续运行。您可以使用 Ctrl+C 终端快捷方式在 Linux 中停止 ping 命令,就像我在上面的示例中所做的那样。 当您停止 ping 命令时,它会向您显示传输摘要。您可以查看传输的 ICMP 数据包数量、接收的数据包数量、丢失的数据包数量等统计信息。 现在您已经知道如何在 Linux 中进行 ping 操作,让我们看看其他一些 ping 命令选项。 只发送N个数据包如果您不希望 ping 命令永远运行而不手动停止它,可以使用 -c 选项。 这样,您可以指定 ping 命令在自动停止之前应发送的数据包数量。 ping -c 2 104.248.179.115 PING 104.248.179.115 (104.248.179.115) 56(84) bytes of data. 64 bytes from 104.248.179.115: icmp_seq=1 ttl=50 time=315 ms 64 bytes from 104.248.179.115: icmp_seq=2 ttl=50 time=423 ms --- 104.248.179.115 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 315.208/369.190/423.172/53.982 ms仅在有限时间内发送 ping除了设置发送数据包的数量外,您还可以设置发送数据包的时间。 例如,如果您只想发送 5 秒的 ping 数据包,您可以这样使用: ping -w 5 google.com PING google.com (64.233.177.138) 56(84) bytes of data. 64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=1 ttl=40 time=407 ms 64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=2 ttl=40 time=320 ms 64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=3 ttl=40 time=323 ms 64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=4 ttl=40 time=472 ms 64 bytes from yx-in-f138.1e100.net (64.233.177.138): icmp_seq=5 ttl=40 time=406 ms --- google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4002ms rtt min/avg/max/mdev = 320.634/385.993/472.056/57.309 ms更改两次 ping 之间的时间间隔默认情况下,Ping 发送数据包的时间间隔为一秒。您可以使用 -i 选项更改此时间间隔。 要以 3 秒的间隔发送 ICMP 数据包,可以使用 Ping 命令,如下所示: ping -i 3 31.13.90.36您也可以缩短 ping 之间的时间间隔。 ping -i 0.5 31.13.90.36但是,如果您尝试将时间间隔减少到 0.2 秒(200 毫秒)以下,您将看到错误: ping -i 0.1 31.13.90.36 PING 31.13.90.36 (31.13.90.36) 56(84) bytes of data. ping: cannot flood; minimal interval allowed for user is 200ms不用担心。您仍然可以以小于 200 毫秒的间隔进行 ping 操作。但要做到这一点,您需要使用 root 权限进行 ping。 sudo ping -i 0.1 31.13.90.36 PING 31.13.90.36 (31.13.90.36) 56(84) bytes of data. 64 bytes from 31.13.90.36: icmp_seq=1 ttl=49 time=470 ms 64 bytes from 31.13.90.36: icmp_seq=2 ttl=49 time=372 ms💡您可以通过 ping 来找到网关 IP 地址,如下所示:ping _gateway更改数据包大小Ping 发送的默认 ICMP 数据包大小为 56 字节。这也可以借助 -s 命令进行更改。 ping -s 100 31.13.90.36 PING 31.13.90.36 (31.13.90.36) 100(128) bytes of data. 108 bytes from 31.13.90.36: icmp_seq=1 ttl=49 time=234 ms 108 bytes from 31.13.90.36: icmp_seq=2 ttl=49 time=257 ms 108 bytes from 31.13.90.36: icmp_seq=3 ttl=49 time=280 ms ^C --- 31.13.90.36 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 234.208/257.352/280.424/18.867 ms使用 Ping 洪水的 DoS 攻击,又名 Ping of Death最简单的 DoS 攻击之一是 Ping of Death。在这种攻击中,攻击者会在很短的时间内发送大量的 ping 请求。如果服务器配置不当,它在处理 ping 请求时会崩溃,网站也会瘫痪。 ping 命令有内置的“功能”。这称为 ping 泛洪,可以通过 -f 选项来实现。您需要 sudo 权限才能以零间隔运行此选项。 sudo ping -f google.com PING google.com (108.177.122.101) 56(84) bytes of data. …………………..^C --- google.com ping statistics --- 1436 packets transmitted, 1413 received, 1% packet loss, time 22837ms rtt min/avg/max/mdev = 313.887/326.102/388.178/7.464 ms, pipe 26, ipg/ewma 15.914/323.456 ms当您运行此命令时,您将看到一些点在输出中出现和消失。每个“.”表示一个请求,而回复是一个退格键(这就是点消失的原因)。 此洪水 ping 选项在测试服务器的负载能力时非常有用。 📄您不能使用此命令来 ping 特定端口。为此,您必须使用 nmap 等其他工具。额外提示:发送声音 ping您可以使用 -a 选项发送声音 ping。这样,每次成功 ping 时您都会听到一声蜂鸣声。 ping -a google.com请注意,并非所有 Linux 发行版都配置为发出蜂鸣声。我在 Ubuntu 18.04 上测试了它,我可以听到蜂鸣声。 Ping 命令故障排除到目前为止我们看到的都是 ping 命令的成功示例。但这种情况不会一直发生。让我们看看您可能会看到的一些常见错误并了解这些错误的原因。 ping 没有回复您可能会注意到某些主机不回复 ping 请求。 ping 命令似乎已挂起,因为没有响应。该命令只是停留在那里,甚至不会超时。 如果终止 ping 命令,您会看到一些奇怪的统计数据。 ping intel.com PING intel.com (13.91.95.74) 56(84) bytes of data. ^C --- intel.com ping statistics --- 100 packets transmitted, 0 received, 100% packet loss, time 101362m如您所见,传输了 100 个数据包,但没有收到任何响应。 这很可能是因为某些服务器丢弃了 ICMP 数据包。这是避免 ping 泛洪的安全措施。 目标主机不可达出现此错误可能是由于以下两个原因之一: 本地系统没有到远程主机的路由 或者端点路由器没有到远程主机的路由 如果您只看到“目标主机无法访问”错误,则意味着您的系统无法找到到远程主机的路由。 另一方面,如果您在回复的“Reply from ”部分看到错误,则意味着数据包已发送到您的网络之外,但无法到达目的地。 有时,服务器还会阻止可能显示此错误的 ICMP 流量。 请求超时此错误意味着数据包已到达远程服务器,但回复无法到达您的系统。该问题可能是数据包丢失或路由错误。 准备好 Ping 了吗?我希望本教程可以帮助您更好地理解 Linux ping 命令。 如果您有疑问或建议,请在评论区留言。 |
CopyRight 2018-2019 实验室设备网 版权所有 |