Linux ping命令介绍
Ping(Packet Internet Groper)命令用于检测主机。通过发送Internet控制消息协议(ICMP
)Echo数据包到目标主机,检测目标主机是否可达。如果互联网上两个主机之间可以通信,并且没有防火墙阻止这种通信,那么ping命令在一个主机上可以成功地ping另一个主机。因此,你可以使用ping命令检查网络是否已连接,一台远程主机的IP地址是否已经改变,或你的Internet服务提供商(ISP)的网络是否正在运行。
Linux ping命令适用的Linux版本
ping命令在几乎所有Linux发行版中都自带,例如Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora、Raspbian等。对于没有预装ping命令的发行版,你可以通过以下命令进行安装:
Debian/Ubuntu:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install iputils-ping
CentOS/RedHat:
在CentOS 7/RedHat 7中使用yum
命令:
[linux@bashcommandnotfound.cn ~]$ sudo yum install iputils
在CentOS 8/RedHat 8中使用dnf
命令:
[linux@bashcommandnotfound.cn ~]$ sudo dnf install iputils
Alpine:
[linux@bashcommandnotfound.cn ~]$ apk add iputils
Linux ping命令的基本语法
将<ip_address>替换为你要ping的主机/服务器的IP地址:
ping <ip_address>
例如,要ping主机192.168.1.1,我们将输入:
ping 192.168.1.1
Linux ping命令的常用选项及参数说明
使用markdown表格格式,按字母顺序列举以下常见选项。
选项 | 说明 |
---|---|
-a | audible ping. |
-b | ping broadcast. |
-c count | stop after sending count ECHO_REQUEST packets. |
-d | set the SO_DEBUG option. |
-f | flood ping. |
-I interface address | Set source address to specified interface address. |
–version | Show version and exit. |
-h | show this help. |
… | … |
Linux ping命令实例详解
实例1:ping一个主机
我们将使 IP 地址为 192.168.1.1
的主机:
[linux@bashcommandnotfound.cn ~]$ ping 192.168.1.1
这将会发送 ICMP 回声请求到主机,如果没有任何问题,主机会向我们返回 ICMP 回声回答。
实例2:限制发送ping请求的次数
我们可以用 -c
选项来限制发送ping请求的次数:
[linux@bashcommandnotfound.cn ~]$ ping -c 5 192.168.1.1
这会发送5个ping请求到主机。
实例3:使用-p选项进行自定义数据模式
我们可以使用 -p
选项指定一个十六进制的模式来填充发送的数据包。以下命令发送一个数据填充模式为 “1234” 的请求到主机 192.168.1.1
中:
[linux@bashcommandnotfound.cn ~]$ ping -p 1234 192.168.1.1
实例4:设定时间戳
我们可以使用 -D
选项在每一行前添加一个时间戳,方便我们分析测试结果:
[linux@bashcommandnotfound.cn ~]$ ping -D 192.168.1.1
实例5:使用-i选项设置发送消息的间隔
我们可以使用 -i
选项来设置发送请求的间隔,以下命令每隔5秒发送一个ping请求到 192.168.1.1
中:
[linux@bashcommandnotfound.cn ~]$ ping -i 5 192.168.1.1
Linux ping命令的注意事项
请务必要注意ping命令可能会导致网络流量的增加,因此在一些网络环境下使用时要谨慎。此外,可能会遇到防火墙或路由器阻止ICMP请求,导致bash: ping: command not found
提示,但这不影响你通过正常方式访问目标主机。