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. python 多进程数据交互及共享

    多线程和多进程最大的不同在于,多进程中,同一个变量,各自有一份拷贝存在于每个进程中,互不影响,而多线程中,所有变量都由所有线程共享,所以,任何一个变量都可以被任何一个线程修改,因此,线程之间共享数据最 ...

  2. 【Leetcode】【Medium】Linked List Cycle II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. 解题: ...

  3. QT的编译原理

    https://www.cnblogs.com/findumars/p/4948896.html

  4. 使用c++11写个最简跨平台线程池

    为什么需要多线程? 最简单的多线程长啥样? 为什么需要线程池,有什么问题? 实现的主要原理是什么? 带着这几个问题,我们依次展开. 1.为什么需要多线程? 大部分程序毕竟都不是计算密集型的,简单的说, ...

  5. API Gateway微服务

    微服务中的 API 网关(API Gateway)   前言 又是很久没写博客了,最近一段时间换了新工作,比较忙,所以没有抽出来太多的时间写给关注我的粉丝写一些干货了,就有人问我怎么最近没有更新博客了 ...

  6. 关于tcp状态及一些延展

    1.常用的三个状态是:ESTABLISHED 表示正在通信,TIME_WAIT 表示主动关闭,CLOSE_WAIT 表示被动关闭. TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断 ...

  7. Windows Server 2008 安装wampserver失败的总结

    1.最好选择2.4以下版本. 2.如果报确实MSVCR100.dll的错误,需要下载运行环境包(参考博客)

  8. 函数响应式编程(FRP)思想-Callback风格

    序 ReactiveCocoa是IOS广为使用的技术框架,而ReactiveCocoa的核心思想就FRP.FRP不同于JAVA的object-oriented和AOP,FRP能让你的代码像数学一样简洁 ...

  9. JAVA JAVA面试题和项目面试核心要点精华总结(想进大公司必看)

    http://blog.csdn.net/ourpush/article/details/53706524 1.常问数据库查询.修改(SQL查询包含筛选查询.聚合查询和链接查询和优化问题,手写SQL语 ...

  10. [JSOI2016]最佳团体

    嘟嘟嘟 01分数规划+树形背包. 然后就没了. 结果我调了半天,原因还是树形背包不熟练. 我是用dfs序求的,转化的时候,是dp[i][j]转化到dp[i + 1][j + 1]或dp[i +siz[ ...