Linux命令ping
原文
ping命令用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
语法
ping(选项)(参数)
选项
-d:使用Socket的SO_DEBUG功能;
-c<完成次数>:设置完成要求回应的次数;
-f:极限检测;
-i<间隔秒数>:指定收发信息的间隔时间;
-I<网络界面>:使用指定的网络界面送出数据包;
-l<前置载入>:设置在送出要求信息之前,先行发出的数据包;
-n:只输出数值;
-p<范本样式>:设置填满数据包的范本样式;
-q:不显示指令执行过程,开头和结尾的相关信息除外;
-r:忽略普通的Routing Table,直接将数据包送到远端主机上;
-R:记录路由过程;
-s<数据包大小>:设置数据包的大小;
-t<存活数值>:设置存活数值TTL的大小;
-v:详细显示指令的执行过程。
ping命令通过ICMP(Internet控制消息协议)工作;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 |
下面是爱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; |
三、输出格式:
下图为简单的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.comPING 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 ms64 bytes from 14.17.32.211: icmp_seq=2 ttl=54 time=17.0 ms64 bytes from 14.17.32.211: icmp_seq=3 ttl=54 time=16.6 ms64 bytes from 14.17.32.211: icmp_seq=4 ttl=54 time=18.3 ms64 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 2405msrtt min/avg/max/mdev = 16.520/17.692/19.919/1.293 ms |
以最快的速度,使用最大的包进行ping,可用于测试目标主机的承压能力:
|
1
2
3
4
5
6
|
[root@aiezu ~]# ping -f -s 65507 10.0.0.52PING 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 1675msrtt min/avg/max/mdev = 1.202/2.406/8.253/0.507 ms, ipg/ewma 2.598/2.318 ms |
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.8PING 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 ms64 bytes from 8.8.8.8: icmp_seq=9 ttl=43 time=32.2 ms64 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 16003msrtt min/avg/max/mdev = 32.038/32.208/32.362/0.246 ms |
|
1
2
3
4
5
|
[root@aiezu.com ~]# ping -c 3 9.9.9.9PING 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 65507PING 10.0.0.52 (10.0.0.52) 65508(65536) bytes of data.ping: local error: Message too long, mtu=1500ping: local error: Message too long, mtu=1500 |
将ping的“-s”参数设置一个更小的值,windows最大值为“65500”,linux最大值为“65507”。
Linux命令ping的更多相关文章
- Linux 命令 - ping: 向网络主机发送 ICMP ECHO_REQUEST 包
ping 命令会向指定的网络主机发送特殊网络数据报 IMCP ECHO_REQUEST.多数网络设备收到该数据包后会做出回应,通过此法即可验证网络连接是否正常. 有时从安全角度出发,通常会配置部分网络 ...
- 每天一个linux命令(54):ping命令
Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...
- 每天一个linux命令(46):ping命令
Linux系统的ping 命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地 址192.168.1.1试试 ...
- Linux中ping命令
Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...
- 每天一个linux命令(41)--ping命令
Linux系统的 ping 命令是常用的网络命令,它通常用来测试与目标主机的连通性,它通过发送 ICMP ECHO_REQUEST数据包到网络主机(send ICMP ECHO_REQUEST t ...
- linux常用网络命令ping和arping
linux常用网络命令ping和arping ping 向目标主机发送icmp请求包 常用来测试当前主机与目标主机网络连接状况 常见选项 -c 设置发包的个数 -s ...
- 【转】每天一个linux命令(54):ping命令
原文网址:http://www.cnblogs.com/peida/archive/2013/03/06/2945407.html Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主 ...
- 每天一个linux命令(网络):【转载】ping命令
Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...
- 每天一个Linux命令(48)ping命令
ping命令用来测试主机之间网络的连通性. (1)用法: 用法: ping [参数] [主机名或IP地址] (2)功能: 功能: 确定网络和各外部主机的状态 ...
随机推荐
- 使用plv8+ shortid npm包构建一个短唯一id服务
plv8 是一个很强大的pg 扩展插件,我们可以直接额使用js 增强sql ,shortid 是一个用来生成短连接id 很方便的类库 因为shortid 是一个npm 模块,我们需要使用一种方法使用r ...
- ES6新增的数组方法
ES6新增:(IE9级以上支持) 1.forEach():遍历数组,无返回值,不改变原数组. 2.map():遍历数组,返回一个新数组,不改变原数组. 3.filter():过滤掉数组中不满足条件的值 ...
- Qt常用类——QWidget
QWidget类是所有用户界面对象的基类. Widget是用户界面的基本单元:它从窗口系统接收鼠标,键盘和其他事件,并在屏幕上绘制自己. 每个Widget都是矩形的,它们按照Z-order进行排序.
- 回溯法 | 图的m着色问题
学习链接:算法 图的M着色问题 虽然今早9点才醒来,10点才来教室,但是coding得很高效.吃个早餐,拉个粑粑的时间,就把算法书上的[图的m着色]问题看明白了,大脑里也形成了解决问题的框架. 其实这 ...
- 【数位DP】【P2657】[SCOI2009]windy数
Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为 \(2\) 的正整数被称为windy数. windy想知道, 在 \(A\) 和 \(B\) 之间,包括 ...
- 分布式文件系统HDFS
利用Shell命令与HDFS进行交互 以”./bin/dfs dfs”开头的Shell命令方式 1.目录操作 在HDFS中为hadoop用户创建一个用户目录(hadoop用户) 启动hadoop 创建 ...
- Glimma 包
http://master.bioconductor.org/packages/3.9/bioc/html/Glimma.html 安装 if (!requireNamespace("Bio ...
- orcle not like不建议使用(not like所踩过的坑!)
1.情景展示 现在有一张表,需要将表中某字段的值不是以指定字符开头的列进行删除,如何实现? 2.问题分析 错误方案一:同事想到的是:这种方式 咱们来看一下,这个表总共有多少条数据 本来表数据总共才 ...
- 网络测试工具netperf(转)
http://pangyi.github.io/blog/20141210/wang-luo-ce-shi-gong-ju-netperf/ 网络测试工具netperf 2014年12月10日 一般我 ...
- 【视频开发】【计算机视觉】相机标定(Camera calibration)原理、步骤
相机标定(Camera calibration)原理.步骤 author@jason_ql(lql0716) http://blog.csdn.net/lql0716 在图像测量过程以及机器视觉应用 ...