初学者的Linux ping命令教程(8个示例)

无论你是哪种类型的Linux用户(初学者或专业人士),都必须注意某些工具。 Ping是一个这样的实用工具。在这T ...

初学者的Linux ping命令教程(8个示例)

无论你是哪种类型的Linux用户(初学者或专业人士),都必须注意某些工具。 Ping是一个这样的实用工具。 在本教程中,我们将使用一些易于理解的示例来讨论此工具的基础知识。 但在此之前,值得一提的是,本文中的所有示例都已在Ubuntu 16.04 LTS机器上进行了测试。

Linux的ping命令

在大多数基本术语中,ping命令可让您检查远程主机是否处于活动状态并进行响应。 以下是该工具的语法:

ping [OPTIONS] destination

以下是手册页的解释:

       ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to elicit
       an ICMP ECHO_RESPONSE from a host or gateway.   ECHO_REQUEST  datagrams
       (``pings'')  have  an  IP and ICMP header, followed by a struct timeval
       and then an arbitrary number of ``pad'' bytes  used  to  fill  out  the
       packet.

       ping6  is  IPv6  version  of  ping,  and can also send Node Information
       Queries (RFC4620).  Intermediate hops may not be allowed, because  IPv6
       source routing was deprecated (RFC5095).

以下是一些Q&A样式的示例,应该给你一个关于ping命令如何工作的好主意。

Q1。 如何使用ping命令?

基本用法相当简单 - 只需执行“ping”命令并​​将目标作为输入。

例如:

ping howtoing.com

以下是我的系统上生成的这个命令的结果:

如何使用ping命令

请注意,默认情况下,该命令将继续执行,直到您通过Ctrl + C停止它。

Q2。 如何更改ping包之间的时间间隔?

默认情况下,ping数据包之间有一秒的差距。 但是,如果需要,可以使用-i命令行选项自定义此延迟。

例如,以下命令确保有3秒的间隔:

ping -i 3 howtoing.com

下面的命令发送数据包延迟半秒。

ping -i 0.5 howtoing.com

请注意,只有超级用户可以将间隔设置为小于0.2秒的值

Q3。 如何更改ping数据包大小?

默认情况下,ping数据包中的字节数为56(如果包含8个字节的ICMP头,则为64)。 但是,如果您愿意,您可以更改此值,您可以使用-s命令行选项执行此操作。

例如,要发送一个80字节的数据包(88包括ICMP头),请使用以下命令:

ping -s 80 howtoing.com

如何更改ping数据包大小

Q4。 如何使ping发送设置的数据包数量?

ping的默认行为是保持发送数据包直到用户中断为止。 但是,如果需要,可以在发送一定数量的数据包之后强制ping来停止执行。 这可以使用-c命令行选项来完成。

例如,以下命令将发送3个数据包,然后停止。

ping -c 3 howtoing.com

Q5。 如何使用ping启动大量数据包?

是的,ping命令还提供了一个启动大量数据包的选项。 这可以使用-f命令行选项。

ping -f howtoing.com

以下是官方文档对此选项的说明:

              For  every  ECHO_REQUEST  sent  a  period  ``.''  is
              printed,  while  for  ever  ECHO_REPLY  received  a backspace is
              printed.  This provides a rapid display of how many packets  are
              being  dropped.   If  interval is not given, it sets interval to
              zero and outputs packets as fast as they come back or  one  hun?
              dred  times  per second, whichever is more.  Only the super-user
              may use this option with zero interval.

Q6。 如何在每行之前打印ping时间戳?

有一个选项(-D)可以让你做到这一点。 打印的时间戳是unix时间和微秒的组合(如在gettimeofday中)。

ping -D howtoing.com

以下是该选项的屏幕截图:

如何在每行之前打印ping时间戳

Q7。 如何设置ping的硬超时?

您可以指定ping的退出时间。 这可以使用-w命令行选项,它需要一个表示秒数的数值。

例如,以下ping命令将在3秒后停止:

ping -w 3 howtoing.com

以下是官方文档如何解释这个选项:

              Specify  a  timeout, in seconds, before ping exits regardless of
              how many packets have been sent or received. In this  case  ping
              does  not  stop after count packet are sent, it waits either for
              deadline expire or until count probes are answered or  for  some
              error notification from network.

Q8。 如何为ping设置软超时?

虽然-w选项确保ping在截止日期过期后停止,但还有另一个选项(-W,大写),也可以使ping停止,但仅限于目标端没有响应时。

ping -W 3 howtoing.com

以下是手册页在这种情况下解释行为的方式:

              Time to wait for a response, in seconds. The option affects only
              timeout in absence of any responses, otherwise  ping  waits  for
              two RTTs.

结论

Ping是几乎可以肯定用于调试网络相关问题的重要工具。 在本教程中,我们讨论了该实用程序的一些主要功能(命令行选项)。 练习这些,一旦完成,请前往该工具的手册页以了解更多信息。


分享按钮