Linux ping命令教程及示例

Ping是网络诊断最常用的工具之一。当互联网不工作,无法访问文件共享等我们将首先ping命令。Ping是IT领域最著名的工具之一。Ping实际上使用ICMP数据包来获取有关网络状态的信息。在本教程中,我们将查看Ping工具的实际用例。

2021年CCNA CCNP CCIE思科华为认证网络工程师培训全套视频教程学
| 月销量16件
优惠价3.58元
原价¥3.58

淘口令:

¥PBHTXqMRtxo¥
 

语法

Linux的ping命令的语法如下所示。

$ ping [options] [hop1...] destination

救命

$ ping -h
Help
救命

ICMP协议

ICMP是一种主要由ping命令使用的网络协议。ICMP有不同类型的消息来交换网络、主机、路由器、交换机的信息。Ping命令使用 ICMP Request 编号为8和 ICMP Reply 编号为0。

发出砰的声响

我们将使用ping命令的默认设置ping。默认情况下,ping将无限工作。我们可以用取消键盘快捷键停止ping命令 CTRL+c .

$ ping poftut.com
Ping
发出砰的声响

停止ping命令后,会有一些关于ping命令的统计信息。将有以下信息

  • Packet transmitted 显示发送的数据包总数
  • Received 显示接收的数据包总数
  • Packet loss 显示丢失或未响应包的百分比
  • Time 显示ping命令的工作时间。
  • Rtt min 显示最小往返时间,即ICMP请求和响应所需的时间
  • Rtt avg 显示平均往返时间
  • Rtt max 显示最大往返时间

增加间隔

默认情况下,ping命令使用1秒间隔。Interval是两个ping或ICMP请求之间的时间。这个数量可以用 -i 选项

$ ping -i 2 poftut.com
Increase Interval
增加间隔

缩短间隔

在前面的例子中,我们增加了间隔。我们还可以为ping请求设置较低的间隔。但有一点不同。要将间隔设置为低于0.2,我们需要根权限。在本例中,我们将间隔设置为0.5秒。

$ ping -i 0.5 poftut.com
Decrease Interval
缩短间隔

检查本地接口状态

Ping有一些诊断功能。我们可以检查本地网络接口的状态 目的地地址

$ ping  0
Check Local Interface Status
检查本地接口状态

设置数据包计数

如前所述,如果ping没有中断,ping命令将无休止地工作。如果我们使用ping作为批处理脚本,那么提供这种中断可能是一项困难的工作。我们可能需要运行ping一些时间并使用输出。在这种情况下,我们可以设置数据包计数。Ping将只发送指定的计数。在本例中,我们将只向目标发送3个ping或ICMP请求。

$ ping -c 3 poftut.com
Set Packet Count
设置数据包计数

可听见的砰砰声

ping命令中有一些警报机制。Ping命令可以提供一些语音警报,如果发生一些变化。此更改可以是目标主机关闭或打开。但请记住,这在某些终端可能不起作用。

$ ping -a poftut.com
Audible Ping
可听见的砰砰声

查找IP地址

如果我们用主机名指定目的地,IP地址将打印在ping输出的第一行。

$ ping  poftut.com
Find IP Address
查找IP地址

在本例中,主机名为 poftut.com 相关IP地址为 45.79.133.118

更改Ping数据包大小

Ping命令使用ICMP包并在ICMP包中放入一些无意义的数据。默认情况下,此数据大小为56字节。此数据大小可以通过 -s 参数。在本例中,我们将为ICMP包200设置数据大小。

$ ping -s 200  poftut.com
Change Ping Packet Size
更改Ping数据包大小

设定生存时间或TTL

IP数据包有生存时间计数。这个TTL将设置数据包可以传输的跳数。通过使用 -t 可设置选项TTL值。在本例中,我们将TTL设置为22,默认情况下为52。

$ ping -t 22  poftut.com
Set Timeout or Time To Live
设置超时或生存时间

设置超时

在发送ICMP请求包时,我们等待ICMP响应的时间。等待时间可随时间变化 -w 选项。在超时值之后,ping命令将退出。在本例中,我们将超时值设置为2秒。

$ ping -w 2  poftut.com
Set Timeout
设置超时

设置Ping的路由或路径

通过ping命令发送的ICMP数据包将根据网络中的默认路由进行路由。有时这种默认路由对于测试用例来说是不够的。在这种情况下,可以通过在目的地之前添加路由信息来向ping命令提供路由信息。在这个例子中,我们将设置 192.168.122.1 路由字节手。我们要确定目的地 poftut.com

$ ping 192.168.122.239 192.168.122.1  poftut.com

但是请记住,网络设备应该由主机提供路由支持。这可能是一种安全隐患,并在网络设备中被禁用。

相关文章: 安全职能与战略、目标和任务的协调

在线Ping工具

有一些在线ping工具提供了选择源主机的扩展能力。

https://asm.ca.com/en/ping.php

泛洪ICMP数据包

洪水是一个术语,用于指定不受控制的高级网络流量。Ping命令可以使用 -f 选项。这将生成大量ICMP请求,而不设置任何间隔或计数。为了泛滥,我们需要根权限。

$ ping -f poftut.com
Flood
洪水

我们可以从示例中看到,没有关于ICMP请求的详细信息。将只有关于ping命令的摘要。

显示版本

Ping命令版本信息可以用 -v 参数如下。

$ ping -V
Show Version
显示版本

我们可以看到ping实用程序是由iputils包提供的,iputils包的版本是s20150815

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享