Categories: Shell

12个Ping用法举例-Ping命令详解!

Ping 是一个简单、广泛使用的、跨平台的网络工具,用于测试主机在Internet协议(IP)网络上是否可达。它的工作原理是向目标主机发送一系列的Internet控制消息协议(ICMP)ECHO_REQUEST消息,然后等待ICMP 回应(或称为ECHO_RESPONSE)。

你可以运行一个ping测试,以确定你的计算机是否能与另一台计算机(目标主机)通信;它可以帮助你确定:

  • 目标主机是否可达(活动)或不可达。
  • 测量数据包到达目标主机并返回到你的计算机所需的时间(与目标主机通信的往返时间(rtt))。
  • 数据包丢失率,以百分比表示。

它的输出是目标主机的回复列表,以及最后一个数据包到达目标主机并返回到你的计算机所需的时间。

它还显示了测试的统计摘要,通常包括传输的数据包数量和接收的数据包数量,数据包丢失的百分比;最小、最大、平均往返时间,以及平均值的标准偏差(mdev)。如果ping测试失败,你将看到错误消息作为输出。

Ping域名或IP地址

你可以运行一个简单的ping测试,看看目标主机baidu.com 是否可达。你也可以使用IP地址代替域名,如下所示。

$ ping baidu.com
#或
$ ping 172.217.27.196

示例输出

从上述命令的结果来看,ping成功,没有丢失任何数据包。在ping测试输出中需要注意的一件重要的事情是,每个ping回应的末尾的时间。

假设你正在对你的服务器进行ping测试,那么这里的值就非常重要,这取决于你在服务器上运行的应用程序的类型。

例如,如果你有一个Web应用程序,其中单个用户请求会导致对数据库进行大量查询以在UI上生成结果,那么到该特定服务器的较低ping时间意味着更多的数据正在无延迟地传输,反之亦然。

Ping Echo请求

你可以使用-c标志指定要发送的ECHO_REQUESTs的数量,然后ping就会退出(在这种情况下,ping测试将在发送5个数据包后停止)。

$ ping -c 5 11meigui.com

示例输出

设置Ping间隔超时

-i标志允许你设置发送每个数据包之间的间隔,单位是秒,默认值是一秒。

$ ping -i 3 -c 5 11meigui.com

示例输出

利用Ping洪水进行DoS攻击,也称为Ping之死

为了确定你的网络在高负载条件下的响应,你可以运行一个“洪水ping”,它会尽可能快地发送请求,使用-f开关。只有root用户可以使用这个选项,否则,使用sudo命令获取root权限。

$ sudo ping -f baidu.com
#或
$ sudo ping -f -i 3  baidu.com #指定请求之间的间隔

示例输出

Ping一个局域网的广播

你可以使用-b选项启用ping广播,这将从连接到你的局域网网络的所有IP地址获取响应。

$ ping -b 192.168.0.0

设置Ping TTL值

为了限制探测遍历的网络跳数(TTL生存时间),使用-t标志。你可以设置任何值在1255之间;不同的操作系统设置不同的默认值。

每个接收到数据包的路由器都至少从计数中减去1,如果计数仍然大于0,路由器将数据包转发到下一个跳点,否则,它将丢弃数据包并向你的计算机发送ICMP响应。

在这个例子中,TTL已经超过了,ping测试失败,如截图所示。

$ ping -t 10 baidu.com

设置Ping数据包大小

默认的数据包大小对于ping测试应该足够,但是,你可以改变它以满足你特定的测试需求。你可以使用-s选项指定有效载荷的大小,以字节数表示,这将导致总数据包大小为所提供的值加上8个额外字节用于ICMP头部。

$ ping -s 1000 baidu.com

设置Ping预加载

如果添加了预加载,ping将发送那么多的数据包,不等待回复。注意,只有root用户才能选择超过3的预加载,否则,使用sudo命令获取root权限。

$ sudo ping -l 5 baidu.com 

设置Ping超时

也可以设置等待响应的时间,以秒为单位,使用-W选项如下所示。

$ ping -W 10 baidu.com

设置Ping超时(以秒为单位)

要设置超时(以秒为单位),在ping退出之前,无论发送了多少数据包或接收了多少数据包,使用-w标志。

$ ping -w 5 baidu.com

Ping调试ICMP数据包

-d选项允许你启用调试IP数据包详细信息,如下所示。

$ ping -d baidu.com

Ping详细输出

你可以使用-v标志启用详细输出,如下所示。

$ ping -v baidu.com

注意Ping不一定用于测试网络连通性,它只是告诉你一个IP地址是活动还是非活动的。

它通常与traceroute程序一起使用,但是MTR – 一个现代网络诊断工具结合了pingtraceroute的功能,并提供了许多额外的特性。

Ping是一种非常常见的方法,用于排查网络上主机的可访问性。在这篇文章中,解释了12个实用的ping命令实例,用于测试网络设备的可达性。

4.2
18
Cronicle一款优秀开源的任务调度系统
什么是Linux系统负载?你真的了解吗
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

PHP Composer如何安装?

PHP Composer是PH…

14小时 ago

MacOS上Missing xcrun的问题

在使用MacOS进行编程或开发…

16小时 ago

CodeGeeX是一款基于大模型的全能AI编程助手

CodeGeeX是一个面向开发…

16小时 ago

MySQL覆盖索引详解

在数据库性能优化中,索引是一个…

20小时 ago

后端程序员必备:SQL优化的20条建议

SQL优化查询对于后端程序员来…

20小时 ago

如何通过SSH克隆GIT仓库?

在使用git进行版本控制时,克…

21小时 ago