Ping命令详解

命令简介

ping 命令是 Linux 系统中一个非常常用的网络命令。ping 命令主要用于测试网络的连通性,也可用于测试网络的性能和主机的响应能力。

日常工作中,我们经常会遇到网页无法打开、网址无法请求的情况。这个时候我们的一般操作是 ping 一下网址,比如 ping baidu.com

使用 ping 测试网络的连通性时,首先应测试本地系统,验证本地系统的网络接口是否已经启用,然后再测试本地网络中的主机,最后再测试其他目标主机的连通性。在测试过程中,ping 命令会计算最小、最大以及平均的往返传输时间,统计丢失的分组数据。

linux 下的 ping 命令和 windows 下的 ping 执行稍有区别,linux 下 ping 不会自动终止,需要按 ctrl+c 终止或者用参数 -c 指定要求完成的回应次数。

ping 命令采用基于 ICMP 协议的 ECHO_REQUEST 数据报探测指定的主机和网关,期望获得一个ICMP ECHO_RESPONSE 响应数据报。ECHO_REQUEST 数据报具有一个 IP 和 ICMP 头信息,紧随其后的是一个 timeval 结构数据,最后是任意数量的填充字节,以装配成完整的分组数据。其中,选用的参数 hops 是中间需要跨越的网关,dest 是目标系统的主机名或 IP 地址。

大多数情况下,我们可以根据 ping 命令输出的信息来确定目标主机是否可以访问(但这并不是绝对的)。有些服务器为了防止通过 ping 探测到,通过防火墙设置了禁止 ping 或者在内核参数中禁止 ping,这样就不能通过 ping 确定该主机是否还处于开启状态。

命令格式

ping [参数] [主机名或IP地址]

命令参数

参数解释
-a测试网络连通性时增加声音提示。
-A自适应连通性测试。自动调节分组数据之间的时间间隔以适应网络通信的往返响应时间,从而避免网络中出现一个或多个(如果指定了 -l 选项)以上的未响应的探测分组数据。对于普通用户而言,最小的时间间隔是 200 毫秒。在往返传输时间较低的网络中,这种测试方式相当于洪水式测试方式。
-b允许测试广播地址。禁止 ping 修改探测分组数据的源地址(绑定到 ping开始运行时选用的地址)。
-c count在发送指定数量 count 的 ECHO_REQUEST 分组数据之后停止。与 -w 选项一起使用时,ping 命令将会等待指定数量 count 的 ECHO_REPLY 分组数据,直至超时。
-d设置当前所用套接字的 SO_DEBUG 选项。实际上,Linux 内核并未使用这个套接字选项。
-f极限检测。大量且快速地送网络封包给一台机器,看它的回应。
-i intvl秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-I网络界面:使用指定的网络界面送出数据包。
-l前置载入:设置在送出要求信息之前,先行发出的数据包。
-n只输出数值。显示 IP 地址即可,无须把 IP 地址解释成符号名字。
-p范本样式:设置填满数据包的范本样式。
-q安静输出模式。 不显示任何传送封包的信息,只显示最后的结果。
-r绕过常规的路由表,直接向网络接口连接的主机发送分组数据。
-R记录路由过程。
-s指定发送的数据字节的数量,默认的字节数是 56,与 8 字节的 ICMP 头信息组合后,构成 64 字节的 ICMP 分组数据。
-t存活数值:设置存活数值 TTL 的大小。
-v详细显示指令的执行过程。
-w终止值:指定 ping 命令终止执行的超时值(单位为秒)。

应用实例

  1. 测试本地系统与远程主机之间的网络连通性,以及远程主机是否正在运行。
ping baidu.com
PING baidu.com (220.181.38.251): 56 data bytes
64 bytes from 220.181.38.251: icmp_seq=0 ttl=49 time=10.255 ms
64 bytes from 220.181.38.251: icmp_seq=1 ttl=49 time=9.296 ms
  1. ping 失败
ping -nA www.google.com.hk
PING www-wide.l.google.com (74.125.23.199): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/6522

(0)
郭靖的头像郭靖
上一篇 2023年1月4日 下午4:54
下一篇 2023年1月5日 下午4:16

相关推荐

  • grafana 钉钉报警设置

    一、钉钉机器人创建与配置 1.创建钉钉群&钉钉机器人 2.创建一个自定义机器人,在“机器人设置”中获得webhook的URL 3.安全设置,这一步是必须的,我选择白名单模式,填入grafana服务器地址 二、grafana设置警报 1.在grafana控制台,左边栏“Alerting”模块,创建一个警报。 2.可点击test发送测试警报 三、钉钉警报…

    2024年5月15日
    1.9K00
  • ubuntu20.04 删除linux中软raid的方法

    取消软件 RAID 可能涉及到几个步骤,具体取决于你的操作系统和使用的软件。在大多数 Linux 系统中,mdadm 是用于管理软件 RAID 的常见工具。以下是在 Linux 中取消软件 RAID 的一般步骤: 请注意:在执行这些步骤之前,请确保你已经备份了所有重要数据,因为取消 RAID 可能会导致数据丢失。 查看当前 RAID 状态: 使用以下命令查看…

    2023年11月24日
    1.9K00
  • CentOS 6 yum安装软件报错 YumRepo Error

    在CentOS 6的机器上使用yum 安装软件报错: 使用yum update命令也是一样: 看错误提示,似乎是说找不到有效的baseurl。所以要解决这个问题,还要从baseurl着手。从官方邮件可知,CentOS 6自从2020年11月30日开始,官方不再维护,所以连带着原来的yum存储库也不能用了。 但是邮件里说得很明白,它给出了迁移后的存储库的链接地…

    2023年5月25日
    1.2K00
  • LAMP环境下部署DiscuzQ

    一、安装Apachae yum安装Apache,并设置开机自启动 在网页浏览器输入ip地址,查看Apache是否正常 二、安装配置 MariaDB 执行以下命令,查看系统中是否已安装 MariaDB。 rpm -qa | grep -i mariadb       返回结果类似如下内容,则表示已存在 MariaDB。 &nbsp…

    2022年12月6日
    1.7K00
  • 开源网站监控利器:Utime Kuma部署指南

    🔍 Uptime Kuma 简介 GitHub 项目地址:https://github.com/louislam/uptime-kuma 一款开源自托管监控工具,支持多种协议检测(HTTP/TCP/Ping/DNS 等)和实时告警(飞书/钉钉/邮件等) 核心优势: 🚀 部署教程 Docker 部署 验证:访问 http://服务器IP:3001​ 完成初始化…

    2025年6月14日
    1.7K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信