ping 解析      

  Linux系统的ping命令是常用的网络命令,它通常用来检测与目标主机的连通性,经常说"ping以下机器,看是否开着,不能打开网页时候,可以ping 一下网关,它是通过发送ICMP ECHO__REQUEST数据包到网络主机。(send ICMP ECHO_REQUEST to network hosts),并显示响应情况,这样我们就可以根据它输出的信息来确定目标主机是否可访问(但这不是绝对的)。有些服务器为了防止通过ping探测到,通过防火墙设置了禁止ping或者在内核参数中禁止ping,这样就不能通过ping确定该主机是否处于开启状态.

linux下的ping和windows下的ping稍有区别,linux下的ping不会自动终止,需要按Ctrl+c 终止 或者-c指定要求完成回应的次数。

    ping 参数解释      

 -b 允许ping网关地址

-c count 发送count次ECHO_REQUEST(回传请求)数据包。当有deadline选项(最后期限,-w选项),在超时之前,ping等待ECHO_REPLY(回传响应)直到count次。
-d 在正在使用的socket(套接字)上设置SO_DEBUG选项。本质上,Linux内核不使用此套接字选项。
-f 大量ping,极限ping。每个ECHO_REQUEST(回传请求)打印一个点,每有一个ECHO_REPLY(回传响应)打印一个退格符(Backspace)。这样可以快速显示丢弃的数据包数量。如果没有给出间隔,它会将间隔设置为0,并按照它们返回或每秒百次的速度输出数据包,以多者为准。只有超级用户才可以0间隔使用此选项。
-i interval 发送每个数据包之间等待的间隔(单位秒)。默认设置是等待一秒,极限模式下不等待。只有超级用户可以设置间隔值小于0.2秒。
-I interface address 将源地址设置为指定的接口地址。参数可以是数字IP地址或设备名称。在ping IPv6 linklocal地址时,此选项是必需的。
-l preload 如果指定了preload,则ping发送许多不等待回复的数据包。只有超级用户可以选择超过3的预加载。
-n 仅限数字输出。不会尝试查找主机地址的符号名称
-p pattern 你可以指定最多16个“pad”字节来填充你发送的数据包。这对于诊断网络中的数据以来问题是有用的。例如-p ff将导致充满整个被发送包。
-q 静默输出。除启动和完成时的摘要行外,不显示任何内容
-r 绕过正常的路由表并直接发送到连接接口上的主机。如果主机不在直接连接的网络上,则返回错误。如果还是用了-I选项,则此选项可用于通过没有路由的接口ping本地主机。
-R 记录线路。包含ECHO_REQUEST数据包中的RECORD_ROUTE选项,并在返回的数据包上显示路由缓冲区。请注意,IP报头只能容纳9个这样的路由。许多主机忽略或放弃此选项。
-s packetsize 指定要发送的数据字节数。默认56,当与8字节的ICMP头数据组合时,转换为64个ICMP数据字节。
-t ttl 设置IP生存时间值(TTL)
-v 详细输出
-w deadline 指定一个以秒为单位的退出时间,不管ping退出之前发送或接收了多少数据包。在这种情况下,ping将一直发送数据包,直到deadline过期或count探针结束或一些来自网络的错误通知。

    指定ping的次数    

以上显示看着啰嗦,那么我们注重结果不注重过程:

上图最后一行我们看到一个陌生的指标 mdev (Mean Deviation)

表示 ICMP 包的RTT偏离平均值的程度,主要用来衡量网速的稳定性,mdev值越大说明网络越不稳定。

     指定ping数据包大小     

默认情况下,ping命令是以64字节大小的数据包来测试网络连通性的,可以使用参数 -s 选项修改默认数据包大小。

实际工作中,我们通常使用 -s 选项来发现网络环境中有关MTU(网络上传最大的数据包)的问题。

     指定ping的TTL     

TTL:指生存时间,是指数据包被路由器丢弃之前允许通过的路由器的跳数。

TTL 是由发送主机来设置的,为了防止数据包在网络中无限循环,每个路由器在转发网络数据包时,都要求将TTL的值减少1,直到TTL减为0的那一刻,也就是这个数据包生命终结的时刻。

对于ping命令发出的数据包,可以使用 -t 选项,设定它在网络上的生命时长。

下面是一些常用操作系统肥肉默认值:

  1、Linux系统的TTL值为64或255

  2、Windows NT/2000/XP 系统的TTL值为128

  3、UNIX 系统的TTL值为255

    指定ping的时间间隔    

ping命令的核心功能就是查看网络的连通性和网络延迟,默认情况下,发生2个数据包之间的间隔是1秒。如果嫌默认1秒发送一个ping 包太慢,则可以使用 -i 选项指定发送两个 ping 包之间的时间间隔,不过需要注意:只有root用户才能设置低于0.2秒的时间间隔。

     爱如潮水般的ping    

使用 -i 选项可以指定发送时间间隔,我们希望尽可能更快的的速度发送和数据包,则可以使用 -f 选项来实现。

-f (flood ping) :潮水模式的ping。只有超管用户可以使用。

0% packet :表示0丢包率。说明网卡非常正常。也没有任何的网络拥塞。

     ----------------  历经天华成此景,世间万事出艰辛! -----------------

linux ping命令实践的更多相关文章

  1. linux ping命令

    Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...

  2. Linux ping 命令

    ping命令用来测试与目标主机的连通性,常见用法如下: [root@localhost ~]$ ping www.baidu.com # 对目标主机域名进行连通性测试 [root@localhost ...

  3. linux ping 命令解析

    不管在windows平台,还是在linux平台,ping都是非常常用的网络命令:ping命令通过ICMP(Internet控制消息协议)工作:ping可以用来测试本机与目标主机是否联通.联通速度如何. ...

  4. Linux ping命令详解

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

  5. Linux常用命令实践

    一.开机自动挂载文件系统设置 在/media下新建RHEL目录,并把/dev/sr1第二块光驱挂载到该目录 #mkdir /media/RHEL #mount /dev/sr1 /media/RHEL ...

  6. linux常见命令实践.

    ls -la : 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls -a . .. 1 online_tools online_tools_0803 ll: 竖列显示所有文件 l ...

  7. windows 环境和linux环境下 ping命令的区别:

    Ping 是Windows自带的一个DOS命令.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.该命令可以加许多参数使用,键入Ping按回车即可看到详细说明.Ping 命令可 ...

  8. 每天一个linux命令(54):ping命令

    Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...

  9. Linux和Windows下ping命令详解(转:http://linux.chinaitlab.com/command/829332.html)

    一.Linux下的ping参数 用途 发送一个回送信号请求给网络主机. 语法 ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ \ -R ] [ -a add ...

随机推荐

  1. 十五、css3 Filter--滤镜

    如何实现下图的效果-—这里就用到了滤镜 给灰色弹框这个标签元素加“伪类”如下: #nearStoreContent .popChoose li:before { 1. z-index:; 2. pos ...

  2. ArcGIS 10.1 如何连接数据库(转)

    原文地址:http://blog.csdn.net/arcgis_cs/article/details/7750893 ArcGIS 10.1如何连接数据库 最近在使用ArcGIS 10.1的数据库, ...

  3. Java基础之Map的遍历

    遍历Map集合,有四种方法:   public static void main(String[] args) { Map<String, String> map = new HashMa ...

  4. c# 值类型与引用类型(转)

    本文意在巩固基础知识,并不是对其进行深入剖析,还望理解.本文是对此项知识的整理文,有些内容来源于网络,其他为博主原创,所以难免会有一些小得瑕疵,敬请谅解.所有示例均是博主测试过的,如有转载请标明出处, ...

  5. mysql获取表列信息、主键信息

    /** * 获取物理表中已存在的列信息 * @param tbName 表名 * @return results 查询结果 */ fun getExistColumnInfo(tbName:Strin ...

  6. yii2.0表单自带验证码

    Yii2.0的自带的验证依赖于GD2或者ImageMagick扩展. 使用步骤如下: 第一步,控制器: 在任意controller里面重写方法

  7. 如何控制table中td内的文本位置

    默认为左中效果    td中垂直用valign 取值为:top/middle/bottom/baseline,水平用align 取值为:left,center,right;

  8. 学习Road map Part 04 自动驾驶、SLAM、ROS、树莓派

    学习Road map Part 04 自动驾驶.SLAM.ROS.树莓派

  9. Boost智能指针——weak_ptr

    循环引用: 引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象.一个简单的例子如下: #include <string>#include <iost ...

  10. vim c++插件clang_complete

    地址 http://www.vim.org/scripts/script.php?script_id=3302 以后应该会用到的,先记下:需要安装clang编译器.