Linux中的Ping命令
的 ping
命令是用于故障排除,测试和诊断网络连接问题的最常用工具之一。
Ping通过将一个或多个ICMP(Internet控制消息协议)回显请求包发送到网络上的指定目标IP并等待答复来工作。 当目的地接收到该程序包时,它将以ICMP回显应答进行响应。
随着 ping
命令,可以确定远程目标IP是活动的还是非活动的。 您还可以找到与目的地通信时的往返延迟,并检查是否有数据包丢失。
ping
是 iputils
(要么 iputils-ping
)软件包,该软件包几乎预装在所有Linux发行版中。 它在Windows,macOS和FreeBSD上也可用。
如何使用Ping命令
ping命令的语法如下:
ping [OPTIONS] DESTINATION
为了更好地说明,ping命令如何工作,让我们ping google.com
:
ping google.com
输出将如下所示:
PING google.com (172.217.22.206) 56(84) bytes of data.
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=1 ttl=53 time=40.2 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=2 ttl=53 time=41.8 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=3 ttl=53 time=47.4 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=4 ttl=53 time=41.4 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7ms
rtt min/avg/max/mdev = 40.163/42.700/47.408/2.790 ms
的 ping
命令将域名解析为IP地址,并开始将ICMP软件包发送到目标IP。 如果目标IP可达,它将响应并ping命令打印一行,其中包括以下字段:
- 数据字节数。 默认值为56,它转换为64个ICMP数据字节-
64 bytes
。 - 目的地的IP地址-
from muc11s01-in-f14.1e100.net (172.217.22.206)
。 - 每个数据包的ICMP序列号。
icmp_seq=1
。 - 生存的时间。 —
ttl=53
-TTL如何工作? 。 - ping时间(以毫秒为单位),它是数据包到达主机的往返时间,以及返回到发送方的响应。 —
time=41.4 ms
。
默认情况下,发送新数据包的间隔为一秒。
的 ping
命令将继续将ICMP程序包发送到目标IP地址,直到收到中断。 要停止命令,只需点击 Ctrl+C
组合键。
命令停止后,它将显示统计信息,包括丢包率。 数据包丢失意味着数据被丢弃在网络中的某个位置,表明网络中存在问题。 如果有丢包,您可以使用 traceroute
命令以识别丢包发生的位置。
如果 ping
不返回答复,表示未建立网络通信。 发生这种情况时,并不总是意味着目标IP处于不活动状态。 某些主机可能具有阻止ICMP流量或设置为不响应ping请求的防火墙。
成功之后, ping
使用代码退出命令 0
。 否则,它将退出并显示代码 1
要么 2
。 当使用 ping
Shell脚本中的实用程序。
在以下各节中,我们将介绍最常用的 ping
命令选项。
指定数据包数
如前所述,默认情况下, ping
将继续发送ICMP数据包,直到收到中断信号。 要指定要发送的Echo Request软件包的数量,在此之后ping将退出,请使用 -c
选项,后跟软件包数量:
ping -c 1 DESTINATION
例如,ping linuxize.com
您只会使用一次:
ping -c 1 linuxize.com
指定源接口号
的默认行为 ping
命令是通过默认路由发送ICMP软件包。 如果您的计算机上有多个接口,则可以使用 -I
选项:
ping -I INTERFACE_NAME DESTINATION
以下命令将ping linuxize.com
使用 em2
作为源接口:
ping -I em2 linuxize.com
指定互联网协议号
当您运行 ping
命令,它将使用IPv4或IPv6,具体取决于您的计算机的DNS设置。
强迫 ping
要使用IPv4,请通过 -4
选项,或使用其别名 ping4
:
ping -4 DESTINATION
对于IPv6,请传递 -6
选择或使用 ping6
:
ping -6 DESTINATION
结论#
ping
是一个命令行网络实用程序,使您可以测试网络上给定主机的IP级别连接。
要查看的所有可用选项 ping
命令,键入 man ping
在您的终端中。
如果您有任何疑问或反馈,请随时发表评论。
ping终端