Linux ping命令详解

目录

  • 一、简介
  • 二、ping命令
  • 三、简单示例
    • 3.1 ping -c 3 www.baidu.com
    • 3.2 ping -c 3 -i 2 www.baidu.com


一、简介

PING (Packet Internet Groper), 因特网包探索器,用于测试网络连接量的程序 。Ping是工作在 TCP/IP 网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议) Echo 请求报文,测试目的站是否可达及了解其有关状态 。


在网络中ping是一个十分强大的TCP/IP工具。它的作用主要为:

  • 用来检测网络的连通情况和分析网络速度;
  • 根据域名得到服务器IP;
  • 根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量。

二、ping命令

ping命令在不同操作系统间的操作和可选字段略有不同,以下是Linux系统ping命令:

> ping
Usage: ping [-aAbBdDfhLnOqrRUvV64] [-c count] [-i interval] [-I interface][-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos][-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option][-w deadline] [-W timeout] [hop1 ...] destination
Usage: ping -6 [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface][-l preload] [-m mark] [-M pmtudisc_option][-N nodeinfo_option] [-p pattern] [-Q tclass] [-s packetsize][-S sndbuf] [-t ttl] [-T timestamp_option] [-w deadline][-W timeout] destination

参数说明:

参数说明
-aAudible ping
-A自适应ping,根据ping包往返时间确定ping的速度;
-b允许ping一个广播地址;
-B不允许ping改变包头的源地址;
-c countping指定次数后停止ping;
-d使用Socket的SO_DEBUG功能;
-F flow_label为ping回显请求分配一个20位的“flow label”,如果未设置,内核会为ping随机分配;
-f极限检测,快速连续ping一台主机,ping的速度达到100次每秒;
-i interval设定间隔几秒发送一个ping包,默认一秒ping一次;
-I interface指定网卡接口、或指定的本机地址送出数据包;
-l preload设置在送出要求信息之前,先行发出的数据包;
-L抑制组播报文回送,只适用于ping的目标为一个组播地址
-n不要将ip地址转换成主机名;
-p pattern指定填充ping数据包的十六进制内容,在诊断与数据有关的网络错误时这个选项就非常有用,如:“-p ff”;
-q不显示任何传送封包的信息,只显示最后的结果
-Q tos设置Qos(Quality of Service),它是ICMP数据报相关位;可以是十进制或十六进制数,详见rfc1349和rfc2474文档;
-R记录ping的路由过程(IPv4 only);
注意:由于IP头的限制,最多只能记录9个路由,其他会被忽略;
-r忽略正常的路由表,直接将数据包送到远端主机上,通常是查看本机的网络接口是否有问题;如果主机不直接连接的网络上,则返回一个错误。
-S sndbufSet socket sndbuf. If not specified, it is selected to buffer not more than one packet
-s packetsize指定每次ping发送的数据字节数,默认为“56字节”+“28字节”的ICMP头,一共是84字节;
包头+内容不能大于65535,所以最大值为65507(linux:65507, windows:65500);
-t ttl设置TTL(Time To Live)为指定的值。该字段指定IP包被路由器丢弃之前允许通过的最大网段数;
-T timestamp_option设置IP timestamp选项,可以是下面的任何一个:
- ‘tsonly’ (only timestamps)
- ‘tsandaddr’ (timestamps and addresses)
- ‘tsprespec host1 [host2 [host3]]’ (timestamp prespecified hops)
-M hint设置MTU(最大传输单元)分片策略。
可设置为:
- ‘do’:禁止分片,即使包被丢弃;
- ‘want’:当包过大时分片;
- ‘dont’:不设置分片标志(DF flag);
-m mark设置mark;
-v使ping处于verbose方式,它要ping命令除了打印ECHO-RESPONSE数据包之外,还打印其它所有返回的ICMP数据包;
-UPrint full user-to-user latency (the old behaviour)
Normally ping prints network round trip time, which can be different f.e. due to DNS failures.
-W timeout以毫秒为单位设置ping的超时时间;
-w deadlinedeadline;

我们通常会用它来直接 ping ipping 域名,来测试网络的连通情况。

命令如下:

> ping 10.0.7.229
> ping www.baidu.com

输出结果:

# ping 10.0.7.229
PING 10.0.7.229 (10.0.7.229) 56(84) bytes of data.
64 bytes from 10.0.7.229: icmp_seq=1 ttl=64 time=3.75 ms
64 bytes from 10.0.7.229: icmp_seq=2 ttl=64 time=16.2 ms
64 bytes from 10.0.7.229: icmp_seq=3 ttl=64 time=1.53 ms
64 bytes from 10.0.7.229: icmp_seq=4 ttl=64 time=0.898 ms--- 10.0.7.229 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3019ms
rtt min/avg/max/mdev = 0.898/5.608/16.248/6.233 ms# ping www.baidu.com
PING www.a.shifen.com (39.156.66.14) 56(84) bytes of data.
64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=1 ttl=50 time=54.7 ms
64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=2 ttl=50 time=8.19 ms
64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=3 ttl=50 time=12.7 ms
64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=4 ttl=50 time=14.2 ms
64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=5 ttl=50 time=8.48 ms--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4644ms
rtt min/avg/max/mdev = 8.197/19.680/54.708/17.672 ms

输出格式说明:

PING 10.0.7.229 (10.0.7.229) 56(84) bytes of data.
PING www.a.shifen.com (39.156.66.14) 56(84) bytes of data.
  • 10.0.7.229:目标主机的域名和IP(ping会自动将域名转换为IP);

  • 56(84):不带包头的包大小和带包头的包大小(参考 “-s” 参数);

ping 域名,第一行域名显示的不是ping的域名,其实 www.a.shifen.comCDN 域名,39.156.66.14 是CDN域名的ip。


64 bytes from 10.0.7.229: icmp_seq=1 ttl=64 time=3.75 ms
  • 64 bytes:数据包大小,也就是字节;

  • icmp_seq=1:ping序列,从1开始;如果数字不是按顺序递增也就意味着丢包了;

  • ttl=64:ttl表示生存时间(Time to Live),表示DNS记录在DNS服务器上存在的时间,它是IP协议包的一个值,告诉路由器该数据包何时需要被丢弃。可以通过Ping返回的TTL值大小,粗略地判断目标系统类型是Windows系列还是UNIX/Linux系列,默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。

  • time=3.75ms:响应时间,数值越小,连通速度越快;


--- 10.0.7.229 ping statistics ---

表示ping统计信息的开始。


5 packets transmitted, 5 received, 0% packet loss, time 4644ms
  • 5 packets transmitted:发出去的包数;

  • 5 received:返回的包数;

  • 0% packet loss:丢包率;

  • time 4644ms:耗费时间;


rtt min/avg/max/mdev = 8.197/19.680/54.708/17.672 ms
  • rtt min/avg/max/mdev:表示耗时统计信息,最小/平均/最大/标准差,后面的数值与之一一对应。

三、简单示例

3.1 ping -c 3 www.baidu.com

说明:ping 3次www.baidu.com之后退出。

输出结果:

PING www.a.shifen.com (39.156.66.18) 56(84) bytes of data.
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=1 ttl=50 time=11.9 ms
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=2 ttl=50 time=8.41 ms
64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=3 ttl=50 time=8.45 ms--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 8.411/9.594/11.913/1.641 ms

3.2 ping -c 3 -i 2 www.baidu.com

说明:每隔2秒ping一次,ping 3次之后退出。

输出结果:

PING www.a.shifen.com (39.156.66.14) 56(84) bytes of data.
64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=1 ttl=50 time=10.3 ms
64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=2 ttl=50 time=7.94 ms
64 bytes from 39.156.66.14 (39.156.66.14): icmp_seq=3 ttl=50 time=12.5 ms--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 7.949/10.285/12.525/1.871 ms

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/652233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

yum指令——Linux的软件包管理器

. 个人主页:晓风飞 专栏:数据结构|Linux|C语言 路漫漫其修远兮,吾将上下而求索 文章目录 什么是软件包yum指令1.yum 是什么?2.Linux系统(Centos)的生态 3.yum的相关操作安装卸载yum的相关操作小结 软件源安…

List、Set和Map有什么区别?它们的使用场景是什么?

什么是Java集合框架?它包含哪些主要的接口和类? Java集合框架是一套提供优良性能和易用性的接口和类的集合,位于java.util包中。它主要由两个根接口Collection和Map派生出来。其中,Collection是最基本的接口,而Set、L…

「 网络安全术语解读 」通用攻击模式枚举和分类CAPEC详解

引言:在网络安全领域,了解攻击者的行为和策略对于有效防御攻击至关重要。然而,攻击模式的描述和分类方式缺乏统一性和标准化。为了解决这个问题,MITRE公司创建了CAPEC标准,以提供一个共享和统一的攻击模式分类框架。 1…

保姆级教学:Java项目从0到1部署到云服务器

目录 1、明确内容 2、apt 2.1、apt 语法 2.2、常用命令 2.3、更新apt 3、安装JDK17 4、安装MySQL 4.1、安装 4.2、检查版本及安装位置 4.3、初始化MySQL配置⭐ 4.4、检查状态 4.5、配置远程访问⭐ 4.6、登录MySQL 4.7、测试数据库 4.8、设置权限与密码⭐ 5、安…

C动态内存那些事

为什么存在动态内存分配? 首先,动态内存分配是计算机中一种重要的内存管理方法,它主要解决了静态内存分配无法灵活应对变化需求的问题。以下是几个存在动态内存分配的原因: 灵活性:动态内存分配允许程序在运行时根据需…

算法学习之位运算

一、作用 在复杂问题中经常可以作为工具让代码更加优雅。 二、知识储备基础 “~”:取反符 0->1, 1->0 三、常见的两种操作 1.n的二进制表示中第k位数字是几? (1)原理 先右移操作,再与操作。 (2)代码实现…

HarmonyOS 沉浸式状态栏实现

比如说 我们代码是这样的 Entry Component struct Index {build() {Column() {Column() {Column() {Text(定标标题).fontSize(20).fontColor(Color.White)}.height(50).justifyContent(FlexAlign.Center)}.width(100%).backgroundColor(#FF0000)}.height(100%)} }你预览器上看…

365.水壶问题

有两个水壶,容量分别为jug1Capacity和 jug2Capacity 升。水的供应是无限的。确定是否有可能使用这两个壶准确得到 targetCapacity 升。 如果可以得到 targetCapacity 升水,最后请用以上水壶中的一或两个来盛放取得的 targetCapacity 升水。 你可以: 装满任意一个水壶 清空…

漏洞原理SQL注入 手工注入漏洞

漏洞原理SQL注入 手工注入漏洞 SQL 注入的前置知识 information_schema库information_schema 是mysql5.0以上版本中自带的一个数据库。tables表information_schema库中的tables表中table_schema列(存储数据库名)和table_name列(存储表名&…

tomcat与Apache---一起学习吧之服务器

Apache和Tomcat都是Web服务器,但它们有一些重要的区别。 Apache服务器是普通服务器,本身只支持HTML即普通网页。不过可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资…

MongoDB实战

1.MongoDB介绍 1.1 什么是MongoDB MongoDB是一个文档数据库(以JSON 为数据模型),由C语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。 文档来自于"JSON Document",并非我们一般理解的 PDF&…

实用AI工具介绍

作为一个老程序员,AI工具一直再用,周围的人也都在用,差不多能提升30%的效率吧。使用其实也简单,不光国产大模型,还有国内的成熟镜像,都能方便用上~ 综合能力水平: 4.0 > 3.5 > 国产大模型。模型能力…

【MIdjourney】五个特殊物体关键词

1.碳酸(Carbonate) 这一词语的本意是指包含碳(C)、氧(O)和氢(H)元素的化合物。而在MIdjourney中添加该词汇会使得生成的图片具有水滴效果且富有动态感。 2.灯丝(Filament) Filament效果可能包括更逼真的…

java 基础学习1

目录 一.注释 二.关键字 三.字面量 四.变量和标识符 五.键盘录入 六.运算符 一.注释 1.单行注释://注释信息 2.多行注释:/* 注释信息*/ 3.文档注释:/** 注释信息*/ 注:文档注释暂时用不上 二.关键字 关键字: 被Java赋予了特定…

Django介绍

一、介绍 Django是Python语言中的一个Web框架,Python语言中主流的web框架有Django、Tornado、Flask 等多种 优势:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等功能,是一个全能型框架,拥有自己的A…

有趣的css - 好看的呼吸灯效果

整体效果 这个效果主要用 css3 的 animation 属性来实现的。 这个效果可以用作在网站的整体 Loading&#xff0c;也可以放在网站首屏当一个 banner 的背景也是非常棒的&#xff01; 代码部分 html 部分代码&#xff1a; <div class"app"><span class&quo…

【问题解决】java-word转pdf踩坑

问题情境&#xff1a; 项目中采用word转pdf&#xff0c;最开始使用的pdf相关的apache的pdfbox和itextpdf&#xff0c;后面发现对于有图片背景的word转pdf的情景&#xff0c;word中的背景图会直接占用位置&#xff0c;导致正文不会正确落在背景图上。 解决方案&#xff1a; 采…

研发日记,Matlab/Simulink避坑指南(八)——else if分支结构Bug

文章目录 前言 背景介绍 问题描述 分析排查 解决方案 总结归纳 前言 见《研发日记&#xff0c;Matlab/Simulink避坑指南(三)——向上取整Bug》 见《研发日记&#xff0c;Matlab/Simulink避坑指南(四)——transpose()转置函数Bug》 见《研发日记&#xff0c;Matlab/Simuli…

web前端---------盒子模型2

一------内边距 padding 属性用来设置元素的内边距长度&#xff0c;元素在默认情况下没有内边距&#xff0c;其值为none。 &#xff08;1&#xff09;当 padding 属性中仅含一个值时&#xff0c;该长度应用在上、下、左、右四个区域。 &#xff08;2&#xff09;当 padding …