转载自:http://aiezu.com/article/linux_ping_command.html

不管在windows平台,还是在linux平台,ping都是非常常用的网络命令;ping命令通过ICMP(Internet控制消息协议)工作;ping可以用来测试本机与目标主机是否联通、联通速度如何、稳定性如何。
 
一、ping用法:
  ping命令运行在命令提示符终端,用法为:“ping 参数 目标主机”。其中参数为零到多个,目标主机可以是IP或者域名。

1
2
3
4
Usage: ping [-aAbBdDfhLnOqrRUvV] [-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

二、ping参数详解:
下面是爱E族(aiezu.com)收集整理的ping详细参数,可能部分不全或翻译错误,欢迎指正:

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

参考内容:http://ss64.com/bash/ping.html
 
三、输出格式:

下图为简单的ping产生的响应内容,图中返回内容具体的含义如下:

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

四、简单例子:
1、每隔0.6秒ping一次,一共ping 5次:

1
2
3
4
5
6
7
8
9
10
11
[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

2、极限快速的使用大包ping:
  以最快的速度,使用最大的包进行ping,可用于测试目标主机的承压能力:

1
2
3
4
5
6
[root@aiezu ~]# ping -f -s 65507 10.0.0.52
PING 10.0.0.52 (10.0.0.52) 65507(65535) bytes of data.
.^
--- 10.0.0.52 ping statistics ---
646 packets transmitted, 646 received, 0% packet loss, time 1675ms
rtt min/avg/max/mdev = 1.202/2.406/8.253/0.507 ms, ipg/ewma 2.598/2.318 ms

注意:此用法非常危险,65535(包头+内容)*100个包每秒=6.25MB,每秒发送6.25MB的数据,相当于50Mbps的带宽,完全可能导致目标主机拒绝服务。请勿用于非法用途,造成不良后果自负。

3、联通不稳定,丢包严重的情形:
  下面的ping发出17个ping icmp包,而只有序号为8、9、12的包收到响应信息,丢包率达82%,联通非常不稳定:

1
2
3
4
5
6
7
8
9
[root@aiezu.com ~]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=8 ttl=43 time=32.3 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=43 time=32.2 ms
64 bytes from 8.8.8.8: icmp_seq=12 ttl=43 time=32.0 ms
^C
--- 8.8.8.8 ping statistics ---
17 packets transmitted, 3 received, 82% packet loss, time 16003ms
rtt min/avg/max/mdev = 32.038/32.208/32.362/0.246 ms

4、完全无法ping通的情形:

1
2
3
4
5
[root@aiezu.com ~]# ping -c 3 9.9.9.9
PING 9.9.9.9 (9.9.9.9) 56(84) bytes of data.
--- 9.9.9.9 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1999ms

五、常见错误:
1、错误一:

1
ping: packet size too large: 70000
1
2
3
4
WARNING: packet size 65508 is too large. Maximum is 65507
PING 10.0.0.52 (10.0.0.52) 65508(65536) bytes of data.
ping: local error: Message too long, mtu=1500
ping: local error: Message too long, mtu=1500

解决:
  将ping的“-s”参数设置一个更小的值,windows最大值为“65500”,linux最大值为“65507”。

Linux--常用ping命令详解(adb shell)相关推荐

  1. linux ping 命令 参数详解,常用ping命令详解

    Ping是Windows.Unix和Linux系统下的一个命令.ping也属于一个通信协议,是TCP/IP协议的一部分.利用"ping"命令可以检查网络是否连通,可以很好地帮助我们 ...

  2. linux中ping命令详解,linux中的ping命令的详细解释

    linxu下的ping命令的主要功能就是确定网络状态,下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux的ping命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的 ...

  3. mysql ls命令,Linux 常用 ls命令详解

    ls命令是linux常用命令之一,用于在命令控制台提示符中列出目录和文件信息. 一.ls命令用法: ls命令运行在命令提示符终端,用法如下.其中[选项]和为可选参数,可以一零个或者多个选项:[文件]也 ...

  4. linux常用rm命令详解,Linux常用命令解析- rm命令

    今天小编要跟大家分享的文章是关于Linux常用命令解析- rm命令.rm 是一个命令行工具,用于删除文件和目录.这是每个Linux用户都应该熟悉的基本命令之一. 在本指南中,我们将通过最常见的rm选项 ...

  5. linux中ping命令详解,全面解析Ping命令

    Ping是每个人学习都必须接触到的命令,可是Ping在多少人手中只是检测对方是否在线的工具,却并不知道ping的许多其他用途.Ping是电脑系统自带的一个可执行命令,可以用来检测网络是否通畅和网速的快 ...

  6. Linux常用系统管理命令详解

    ps ps命令用于查看系统中的进程状态. 命令格式:ps [参数] 命令参数说明: 参数 作用 -a 显示现行终端机下的所有程序,包括其他用户的程序 -u 以用户为主的格式来显示程序状况 -x 显示没 ...

  7. linux常用网络命令详解,linux网络命令详解(鸟哥)

    [root@linux ~]# tcpdump [-nn] [-i 介面] [-w 儲存檔名] [-c 次數] [-Ae] [-qX] [-r 檔案] [所欲擷取的資料內容] 參數: -nn:直接以 ...

  8. Linux常用文件管理命令详解

    cat cat命令用于连接文件并打印到标准输出设备上. 命令语法:cat [参数] [文件名] 参数说明: 参数 说明 -n 由1开始对所有输出的行数进行编号. -b 由1开始对所有输出的行数进行编号 ...

  9. linux的ping命令含义,Linux ping命令详解

    Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性 基于IMCP协议 常见命令参数 -q 不显示任何传送封包的信息,只显示最后的结果 -n 只输出数值 -R 记录路由过程 ...

最新文章

  1. We7 从这里开始---安装we7
  2. 是否可以在Gradle中声明一个可用于Java的变量?
  3. Jenkins 最新版qq邮箱配置实例演示,5步设置保证邮件接收成功!
  4. 一招明白URL和URI的区别
  5. .NET 云原生架构师训练营(设计原则设计模式)--学习笔记
  6. linux ftp 操作命令
  7. tornado的websocket处理
  8. 《推荐系统笔记(八)》GBDT和XgBoost的原理(内含详细数学推导)
  9. 问题三十三:怎么用ray tracing画特殊长方体(box)
  10. extjs的grid应用(java 使用json绑定数据 翻页)
  11. 在React项目中,如何优雅的优化长列表
  12. 【2016-2017 ACM-ICPC (ECNA 2016) F】Removal Game【区间DP】
  13. SVN安装以及使用教程
  14. 倒计时 分秒 小程序 方法_微信小程序 倒计时
  15. Java Reflection
  16. 基于人工智能的图像处理技术:利用Opencv实现
  17. SecureCRT 入门使用
  18. WCP 新版本中多了几个新的导出函数
  19. 对学生创业的重新认识
  20. 【标准规范免费下载】国家标准、行业标准、图集下载方式良心推荐

热门文章

  1. 对话国内著名IE外壳浏览器Gosurf主创人-徐骞
  2. 【坑2】java.lang.ClassCastException: cn.itcast.travel.web.servlet.CheckCodeServlet cannot be cast to ja
  3. timeline,一个简单精美的自定义时间轴
  4. # 利用Win10自带功能,玩转系统备份恢复 -- 系统备份
  5. 微软重新追求雅虎 但不涉及整体收购
  6. PHP工程师技能清单
  7. 咋克伯格的Pinterest帐号再次被入侵
  8. CoAP测试服务器 wsncoap.org
  9. [使用疑问] 芒果使用问题汇总
  10. Android中的进程和线程