Linux 中的 Ping 命令

2023-10-20

The ping命令是最常用的用于故障排除、测试和诊断网络连接问题的工具之一。

Ping 的工作原理是向网络上指定的目标 IP 发送一个或多个 ICMP(互联网控制消息协议)回显请求包,并等待回复。当目的地收到数据包时,它会使用 ICMP 回显回复进行响应。

随着ping命令,您可以确定远程目标 IP 是活动的还是非活动的。还可以查看与目的地通信的往返时延,检查是否存在丢包情况。

ping是的一部分iputils (or iputils-ping) 软件包,几乎所有 Linux 发行版都预安装了该软件包。它也可在 Windows、macOS 和 FreeBSD 上使用。

如何使用 Ping 命令#

ping 命令的语法如下:

ping [OPTIONS] DESTINATION

为了更好地说明 ping 命令的工作原理,让我们 pinggoogle.com:

ping google.com

输出将如下所示:

PING google.com (172.217.22.206) 56(84) bytes of data.
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=1 ttl=53 time=40.2 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=2 ttl=53 time=41.8 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=3 ttl=53 time=47.4 ms
64 bytes from muc11s01-in-f14.1e100.net (172.217.22.206): icmp_seq=4 ttl=53 time=41.4 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7ms
rtt min/avg/max/mdev = 40.163/42.700/47.408/2.790 ms

The ping命令将域名解析为IP地址,并开始向目的IP发送ICMP包。如果目标 IP 可达,它将做出响应,并且 ping 命令会打印包含以下字段的行:

  • 数据字节数。默认值为 56,转换为 64 个 ICMP 数据字节 -64 bytes.
  • 目的地的 IP 地址 -from muc11s01-in-f14.1e100.net (172.217.22.206).
  • 每个数据包的 ICMP 序列号。icmp_seq=1.
  • 生存的时间。 -ttl=53 - TTL如何工作? .
  • ping 时间(以毫秒为单位),即数据包到达主机以及响应返回发送方的往返时间。 -time=41.4 ms.

缺省情况下,发送新报文的时间间隔为1秒。

The ping命令将继续发送 ICMP 数据包到目标 IP 地址,直到收到中断。要停止命令,只需点击Ctrl+C组合键。

命令停止后,它会显示统计信息,包括数据包丢失的百分比。数据包丢失意味着数据在网络中的某个位置丢失,表明网络中存在问题。如果出现丢包的情况,可以使用traceroute命令来识别丢包发生的位置。

If ping没有返回回复,则表示网络通信未建立。发生这种情况时,并不总是意味着目标 IP 不活动。某些主机可能有防火墙阻止 ICMP 流量或设置为不响应 ping 请求。

论成功,ping命令退出并带有代码0。否则,它将退出并显示代码1 or 2。这在使用时很有用pingshell 脚本中的实用程序。

在以下部分中,我们将介绍最常用的ping命令选项。

指定数据包数量#

正如已经提到的,默认情况下,ping会继续发送ICMP包,直到收到中断信号。要指定 ping 将退出之前要发送的 Echo Request 包的数量,请使用-c选项后跟包裹数量:

ping -c 1 DESTINATION

例如,要 pinglinuxize.com您只会使用一次:

ping -c 1 linuxize.com

指定源接口#

默认行为ping命令是通过默认路由发送ICMP包。如果您的计算机上有多个接口,您可以使用以下命令指定源接口-I option:

ping -I INTERFACE_NAME DESTINATION

以下命令将 pinglinuxize.com using em2作为源接口:

ping -I em2 linuxize.com

指定互联网协议#

当你运行ping命令,它将使用 IPv4 或 IPv6,具体取决于您的计算机 DNS 设置。

强迫ping要使用 IPv4,请传递-4选项,或使用其别名ping4:

ping -4 DESTINATION

对于 IPv6,请传递-6选项或使用ping6:

ping -6 DESTINATION

结论#

ping是一个命令行网络实用程序,允许您测试网络上给定主机的 IP 级连接。

查看所有可用选项ping命令、类型man ping在您的终端中。

如果您有任何问题或反馈,请随时发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 中的 Ping 命令 的相关文章

  • C: main 未找到,但它在那里 |编译错误

    当我编译两个 c 文件 如下所示 时 我收到一个非常奇怪的错误 终端编译代码 gcc I o main c matrix c lblas lgfortran Error usr bin ld usr lib debug usr lib i3
  • stripe 登录 zsh:未找到命令:stripe

    我正在跟进条纹文档 https stripe com docs stripe cli install当我去stripe login在步骤 2 中 我收到以下错误 zsh 找不到命令 条带 我已经执行了步骤 1 安装 stripe CLI 为
  • VSCode 上的 Pipenv:为什么终端上不显示 (pipenv)?

    我正在 VSCode Bash 终端上设置 pipelinev 虚拟环境 但它没有显示 pipenv 这使得它非常混乱 当我使用Pycharm并让它配置pipenv环境时 它会自动显示 pipenv 在项目路径之后 所以很容易判断我是否在
  • Visual Studio Code 中的集成终端是从外部打开的,而不是在内部打开的

    I have reinstalled Visual Studio Code and for some reason when I do the Ctrl Shift shortcut instead of opening a termina
  • Apple 听写 - 在应用程序中使用

    有什么方法可以在本机 Apple 应用程序中利用 Apple 的听写语音转文本功能吗 你的问题有点模糊 最好先知道你尝试使用或做什么 或者你想要实现什么目标 更常见的是关键字识别 API 但可以用于此目的的语音识别 API 是张开耳朵 ht
  • C++ Boost.asio Ping

    我正在尝试编写一个程序来列出网络上设备的所有 IP 地址 其主要组成部分之一是能够对设备执行 ping 操作 这个程序必须在Linux Windows和Mac上运行 所以我选择了Boost库 我设法在文档中找到这个示例 http www b
  • Python 终端菜单?终端着色?终端进度显示?

    我有一个广泛使用 Python 2 风格 的项目 我想知道是否有终端菜单库或类似的东西 我希望通过使用箭头键突出显示选项 一些颜色等简化一些选项 为我的脚本注入一些风味和活力 我隐约记得有一种方法可以制作 bash shell 终端菜单 但
  • Bash:在新终端中执行带有参数的命令[重复]

    这个问题在这里已经有答案了 所以我想在 bash 中打开一个新终端并执行带参数的命令 只要我只采取类似的东西ls作为命令它工作正常 但是当我采取类似的东西时route n 所以带参数的命令不起作用 代码 gnome terminal win
  • 我可以在 chrome devtools 中执行 nodejs javascript 脚本吗?

    是否可以使用Chrome 开发工具执行终端命令node myfile js 所以chrome控制台会输出所有console log来自我的代码 我有一些terminal插件安装在我的 IDE 中 当我想在我的文件上运行此命令时 我使用一些键
  • 计算Mac中目录及其子目录的特定文件类型的数量

    I use ls l filetype wc l但它只能查找当前目录中的文件 我怎样才能计算子目录中具有特定扩展名的所有文件 非常感谢 你可以这样做find命令 find name filetype wc l
  • Emacs 退出终端

    在 Emacs 中运行终端模式时使用M x term using C x C o我无法切换到另一个缓冲区来继续处理事情 我知道这是可能的M x shell但使用此命令时 shell 的某些方面不起作用 less more 手册页等 我想知道
  • Windows 终端中的图标和背景图像字段无法识别父进程目录

    Windows 终端版本 1 12 10732 0 Windows 内部版本号 19043 1645 Issue 如果这个问题已经在其他地方得到解决 请原谅我 但我意识到当Use parent process directory被检查 Co
  • 如何永久清除 linux/ubuntu 终端或 bash 中的所有历史记录? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 当您在 Linux 终端中使用向上键时 可以再次使用之前的命令 很棒的功能 但是 我开始使用命令中的敏感详细信息将 mysql 记录到 mysql 中
  • 安装 oAuth PECL 错误:无法安装,当前用户无法写入频道“pecl.php.net”的 php_dir

    我尝试在 OS X 上安装 oAuth 但在终端中收到此错误 无法安装 当前用户无法写入频道 pecl php net 的 php dir 我如何让它可写 首先找出php dir在哪里 您可以使用 config get 命令来执行此操作 p
  • 如何清除整个终端(PowerShell)

    我有一个问题 在powershell中使用clear或cls命令仅清除终端的可见部分 我想知道如何清除整个终端 顺便说一句 我使用 VSCode tl dr 问题是关于清零的both屏幕和回滚缓冲区 in the 综合终端 of 视觉工作室
  • 箭头键变成 Telnet 中的控制字符

    我在 Ubuntu 终端中 并通过 telnet 连接到服务器 现在每当我输入 up 时 它就会变成 A 其他箭头键也变成控制字符 有没有办法可以运行 telnet 以便它理解我的箭头键 这将是一个巨大的帮助 因为我想在我的命令历史记录中向
  • Linux命令列出所有可用命令和别名

    是否有一个 Linux 命令可以列出该终端会话的所有可用命令和别名 就好像您输入 a 并按下 Tab 键一样 但针对的是字母表中的每个字母 或者运行 别名 但也返回命令 为什么 我想运行以下命令并查看命令是否可用 ListAllComman
  • 如何在 Xamarin.Mac 中执行终端命令并读入其输出

    我们正在编写一个 Xamarin Mac 应用程序 我们需要执行像 uptime 这样的命令 并将其输出读取到应用程序中进行解析 这可以做到吗 在 Swift 和 Objective C 中都有 NTask 但我似乎无法在 C 中找到任何示
  • 在 mac 终端中加载库时出错

    有谁请帮忙 我该如何修复以下错误 dyld Library not loaded usr local lib libgdbm 4 dylib Referenced from usr local bin zsh Reason image no
  • 在 MacOS 终端上运行 ffmpeg [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我对 MacOS 相当陌生 我发现使用终端来获取信息并不容易ffmpeg和我在 Window 上一样正常运行 我有 ffmpeg 二进制文件ffmpe

随机推荐

  • 使用 to_gbq 将 Pandas DataFrame 导出到 Google BigQuery

    The to gbq功能允许您从a上传数据Pandas到 BigQuery 表中 在本教程中 您将学习如何从 Pandas 导出数据数据框使用 BigQueryto gbq功能 目录 hide 1 安装所需的库 2 设置 Google Cl
  • 在 Python 中创建 Pandas DataFrame 的 14 种方法

    A pandasDataFrame是一种二维标记数据结构 可以容纳整数 字符串 浮点等不同类型的数据 在本教程中 我们将揭示创建 pandas DataFrame 的几种不同方法 使用列表 字典 系列等数据结构 NumPy 数组 甚至其他
  • 过滤 Pandas DataFrame 的 20 种方法

    蟒蛇的Pandas是一个用于数据操作和分析的强大库 其主要功能之一是能够从 Pandas DataFrame 中过滤数据 在 Pandas 中过滤数据有很多不同的方法 它使您能够检查特定行或数据子集 按列或多列过滤 Pandas DataF
  • 如何在 CentOS/RHEL 8 和 Fedora 36/35 上安装 Python 3.10

    Python开发团队已经发布了最新版本的Python 3 10 这包括更多新功能 安全补丁和许多其他改进 此版本包含一个新功能 即括号内的上下文管理器 现在支持在上下文管理器中使用括号在多行中继续 欲了解更多详细信息 请阅读完整的变更日志
  • 如何在 Ubuntu 和 LinuxMint 上安装 Spotify

    Spotify 是一家娱乐公司 可让您即时访问数百万首歌曲 从旧的最爱到最新的热门歌曲 本教程将帮助您在 Ubuntu 和 LinuxMint 桌面系统上安装 Spotify 应用程序 本教程介绍了使用命令行在 Ubuntu 和 Linux
  • TCP/IP 与 OSI 模型:比较研究

    在数字通信方面 有两个模型已成为理解和描述不同网络协议如何交互和协同工作的支柱 传输控制协议 互联网协议 TCP IP 和开放系统互连 OSI 模型 这两种模型都有其独特的结构 优点和应用 本文旨在对此进行探讨 TCP IP模型 TCP I
  • 如何在 Debian 10 上安装 PHP 8

    PHP 是一种脚本语言 是开发动态和交互式网页的强大工具 它最初由丹麦裔加拿大程序员 Rasmus Lerdorf 于 1994 年创建 根据 W3Techs 的数据 公共网络上运行的网站有 78 9 使用 PHP 因此 互联网上几乎每 1
  • 如何使用 RVM 在 Debian 上安装 Ruby

    Ruby 是一种深受众多开发人员欢迎的编程语言 Rails是运行Ruby语言的框架 Ruby 语言由 Yukihiro Matz Matsumoto 创建 并于 1995 年首次发布 本文将帮助您使用 RVM 在 Debian Linux
  • 如何在 Debian 10 上安装 Dovecot (POP/IMAP)

    Dovecot 是类 Unix 操作系统上 IMAP 和 POP3 的开源服务 它专注于可用于大多数 Linux 操作系统的轻量级且安全的邮件服务器 POP3 邮局协议 3 和 IMAP 互联网消息访问协议 都是用作消息访问代理的协议 这些
  • 如何在 WordPress 中禁用附件评论

    许多垃圾邮件发送者会针对您的 WordPress 网站上的媒体附件进行评论 您可以通过使用 WordPress 插件或在主题文件中添加自定义 PHP 代码来禁用媒体附件上的评论 下面介绍了两种禁用媒体附件评论的方法 Read 如何在 Wor
  • 如何在 CentOS 8 上安装 Laravel 9

    Laravel 是一个功能强大的开源 PHP Web 框架 专为更快地开发 Web 应用程序而设计 它基于Symfony框架 遵循MVC架构模式 在本教程的最近更新期间 Laravel 9 是可用的最新版本 Laravel 框架还提供了一个
  • 如何在 Ubuntu 18.04 和 16.04 上安装 Nginx

    Nginx 是 Apache HTTP Server 之外的另一个最受欢迎的 Web 服务器 它被全球大量流行网站使用 该网络服务器对于大流量网站非常有用 本教程将帮助您使用 apt get 在 Ubuntu 18 04 和 16 04 上
  • 使用 PHPMailer 发送电子邮件

    电子邮件发送功能是许多 Web 应用程序的重要组成部分 从帐户验证电子邮件到忘记密码提醒 电子邮件有助于在您的应用程序与其用户之间建立沟通桥梁 PHPMailer 是从 PHP 应用程序发送电子邮件的最流行的库之一 它具有许多功能 使其成为
  • 如何在 Ubuntu 18.04 LTS 上安装 Swift

    Swift 是一种安全 快速 富有表现力的通用编程语言 专为软件设计模式而构建 它最适合系统编程 移动和桌面应用程序 Swift 提供了大量功能 使编程变得更加容易 同时为开发人员提供了真正的系统编程语言所需的控制能力 本教程将帮助您在 U
  • 解决 MySQL 错误 1041 (HY000):内存不足

    在使用 MySQL 时 您可能偶尔会遇到以下情况 错误 1041 HY000 内存不足错误 此错误表明 MySQL 服务器 mysqld 在尝试执行操作时内存不足 此类问题可能有点令人困惑 特别是如果您的服务器似乎有足够的可用内存 让我们深
  • 什么是 500 内部服务器错误

    浏览网页时最常见的错误之一是 500 内部服务器错误 此消息表明网络服务器遇到技术问题 本文解释了 500 错误的含义 为什么会收到 HTTP 500 代码以及如何解决这些错误 什么是 HTTP 500 错误 每次打开网页时 浏览器都会向托
  • Linux 中的 Basename 命令

    basename是一个命令行实用程序 可以从给定的文件名中删除目录和尾随后缀 使用basename命令 The basename命令支持两种语法格式 basename NAME SUFFIX basename OPTION NAME bas
  • 如何在 Linux 上创建可启动的 Ubuntu U 盘

    在本教程中 我们将向您展示如何从 Linux 终端创建可启动的 Ubuntu U 盘 您可以使用此 U 盘来启动并测试或在任何支持从 USB 启动的计算机上安装 Ubuntu 先决条件 4GB 或更大的 USB 记忆棒驱动器 运行任何 Li
  • 如何在 Ubuntu 20.04 上安装 Odoo 14

    Odoo 是一款流行的开源商业应用程序套件 可帮助公司管理和运营其业务 它包括广泛的应用程序 例如 CRM 电子商务 网站构建器 计费 会计 制造 仓库 项目管理 库存等等 所有这些都无缝集成 Odoo根据使用案例和可用技术 可以以不同的方
  • Linux 中的 Ping 命令

    The ping命令是最常用的用于故障排除 测试和诊断网络连接问题的工具之一 Ping 的工作原理是向网络上指定的目标 IP 发送一个或多个 ICMP 互联网控制消息协议 回显请求包 并等待回复 当目的地收到数据包时 它会使用 ICMP 回