一、简介

1、定义

PING (Packet Internet Grope),因特网包探索器

2、功能

ping命令通过ICMP(Internet控制消息协议)工作;ping可以用来测试本机与目标主机是否联通、联通速度如何、稳定性如何。

二、语法格式

1、用法

“ping 参数 目标主机”   其中参数为零到多个,目标主机可以是IP或者域名。

2、参数

参数 详解
-a Audible ping.
-A 自适应ping,根据ping包往返时间确定ping的速度;
-b 允许ping一个广播地址;
-B 不允许ping改变包头的源地址;
-c count ping指定count次后停止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 sndbuf Set 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数据包;
-U  Print 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 deadline deadline;

3、返回结果解释

① ping目标主机的域名和IP(ping会自动将域名转换为IP)
② 不带包头的包大小和带包头的包大小(参考“-s”参数)
③ icmp_seq:ping序列,从1开始;如果数字不是按顺序递增也就意味着丢包了
  ttl:剩余的ttl;
  time: 响应时间,数值越小,联通速度越快;
④ 发出去的包数,返回的包数,丢包率,耗费时间;
⑤ 最小/最大/平均响应时间和本机硬件耗费时间;

三、理论知识

1、TTL(Time To Live)

当报文在网络中转发时,每经过一个‘路由点‘,就把预先设定的这个TTL数值减1,直到最后TTL=1时报文就被扔掉,不向下转发。ping命令返回的这个TTL的含义:被ping主机那里返回的报文,到了你这里,从它自己预设的TTL减小到还剩下多少。

默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。

四、示例

1、每隔0.6秒ping一次,一共ping 5次:

[root@aiezu.com ~]# ping -c 5 -i 0.6 qq.com
PING qq.com (14.17.32.211) 56(84) bytes of data.
64 bytes from 14.17.32.211: icmp_seq=1 ttl=54 time=16.5 ms
64 bytes from 14.17.32.211: icmp_seq=2 ttl=54 time=17.0 ms
64 bytes from 14.17.32.211: icmp_seq=3 ttl=54 time=16.6 ms
64 bytes from 14.17.32.211: icmp_seq=4 ttl=54 time=18.3 ms
64 bytes from 14.17.32.211: icmp_seq=5 ttl=54 time=19.9 ms--- qq.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 2405ms
rtt min/avg/max/mdev = 16.520/17.692/19.919/1.293 ms

ref:

linux ping 命令解析 - 自由早晚乱余生 - 博客园

一个简单的linux ping程序详解_huaxiandao的博客-CSDN博客_linux ping

linux下ping命令使用介绍

ping好几年 ?今天终于把 ping 的原理搞懂了,打算图解教你!-技术圈

百度安全验证

百度安全验证

linux网络命令--ping相关推荐

  1. linux常用网络命令ping和arping

    linux常用网络命令ping和arping ping 向目标主机发送icmp请求包 常用来测试当前主机与目标主机网络连接状况 常见选项 -c              设置发包的个数 -s      ...

  2. linux环境下常用的网络命令ping、telnet、traceroute、tcpdump

    文章目录 前言 网络 网络命令 ping telnet nc traceroute tcpdump 总结 前言 因特网(Internet)的前身是美国国防部高级研究计划局(ARPA)用于军事目的的通信 ...

  3. 你必须了解的基础的 Linux 网络命令

    在 It's FOSS 我们并非每天都谈论 Linux 的"命令行方面".基本上,我更专注于 Linux 的桌面端.但你们读者中的一些人在内部调查(仅面向 It's FOSS ne ...

  4. Linux 网络命令大全

    总的来说,Linux 网络命令涉及到这么几块: - 网络配置: ifconfig. ip - 连通性探测: ping. traceroute. telnet. mtr - 网络连接: netstat. ...

  5. linux 网络使用log,linux 网络命令last、lastlog、traceroute、netstat

    last /usr/bin/last 语法:last 功能:列出目前与过去登入系统的用户信息 reboot 是重启信息 lastlog lastlog -u 502(用户ID) traceroute ...

  6. linux 网络命令 dns,[LN_03] Linux网络环境查看(网卡|路由|DNS|IP)、网络测试命令(端口探测|路由跟踪|抓包|ssh连接)...

    一.Linux网络环境查看命令 1. 查看&临时配置网络状态命令 # 查看IP.MAC.Mask ifconfig # 临时设置指定网卡的网络配置 ifconfig eht0 192.168. ...

  7. 【网络工程师必备】请注意查收 Linux 网络命令集锦

    前言 本文是非常浅显的技术总结,仅聚焦工作中常用到的一些Linux命令. 由于nio的普及,ck10k的问题已经成为过去式.现在随便一台服务器,就可以支持数十万级别的连接了.那么我们来算一下,100万 ...

  8. 网工常用Linux网络命令

    上篇文章介绍了windows常用的网络命令,这篇来介绍Linux的.当然由于云计算.容器技术的发展,Linux环境网络命令越来越多.越来越复杂,这里只介绍网工常用的几个命令,比如ifconfig.pi ...

  9. Linux网络命令与脚本使用

    作为系统管理员或程序员,经常需要诊断分析和解决网络问题,而配置.监控与保护网络有助于发现问题并在事情范围扩大前得意解决,并且网络的性能与安全也是管理与诊断网络的重要部分.这里总结一下常用与Linux网 ...

最新文章

  1. Dora.Interception,为.NET Core度身打造的AOP框架 [1]:更加简练的编程体验
  2. 配置redis禁用几个危险命令
  3. 面试准备系列01----面试中的链表题目汇总
  4. 近一半程序员单身、年薪低于 15 万,程序员扎心现状大调查!
  5. 李飞飞最新研究成果!斯坦福正在用算法判断政治倾向
  6. spring springMvc spring-boot spring-cloud分别是什么
  7. 大数据平台应用 17 个关键技术处理
  8. kubernetes实践分享
  9. matlab光学原理仿真应用衍射,光学衍射仿真实验系统
  10. python支持向量机 股票_测 python 利用SVM预测股票涨跌
  11. 最简单、最傻瓜化的虚拟主机管理软件-LuManager主机管理系统
  12. Graph Convolutional Tracking
  13. 干货!必看创意按钮设计,打造真正的按钮诱惑
  14. mysql create definer_改写 mysqldump 解决 DEFINER 问题-爱可生
  15. MySQL中什么是码_数据库中的码是什么含义?
  16. Visual Studio Code介绍
  17. react-sortablejs 实现自定义表单设计
  18. 解决container_linux.go:262: starting container process caused:
  19. matlab之常用命令整理(持续更新中...)
  20. 各国语言代码,对于多语言软件非常有用!

热门文章

  1. camera杂项---两种shutter
  2. java枚举类构造方法默认是,枚举类型的构造方法_Java语言程
  3. 吴恩达 DeepLearning 神经网络基础 第一课第三周编程题目及作业
  4. C++中两个unsigned型数值相减
  5. 福州大学计算机学院李敏,福州大学厦门工艺美术学院
  6. oracle中更改用户名,Oracle 更改用户名
  7. 一文完全理解模型ks指标含义并画出ks曲线(包含代码和详细解释)
  8. javascript 方法 一直提示 对象不支持此属性或方法
  9. 高性能 低功耗Cortex-A53核心板 | i.MX8M Mini
  10. 【模拟电子技术基础】本章讨论问题答案1