引言:我们每天都在使用Ping命令,但是我们可能不太清楚Ping的工作原理,对运行结果中的很多细节也不是很清楚。查找了一下资料,现在和大家分享一下Ping的运行原理和相关细节。

A.Ping命令的工作原理
Ping命令主要用于测试本地主机与远程主机之间的连通性。Ping命令会向远程主机发送ICMP回应请求数据报(echo request),远程主机收到后回应应答数据报(echo reply)。本地主机会计算从发送回应请求数据报到回应应答数据报返回之间的时间,从而确定本地主机与远程主机之间是否正常连接,以及网络状况如何。

B.Ping结果的意义
对于Ping命令的运行结果,我们主要关注的是数据报返回时间,丢包率,从这两个因素上也就可以大致判断出网络是否稳定。当然这里的网络包括本地网络以及数据报所经过的路由结点的网络。比如数据报返回时间波动很大,就说明网络不稳定。Ping得到的数据报返回时间在150到350之间都算正常,基本不会影响网站访问速度。而丢包率可以直接反映本地主机到服务器的网络连接状况不是很好,具体哪些结点出问题,我们可以再通过Tracert命令来查询。

C.如何计算本地主机到目标主机所经过的路由数?
默认情况下,Ping命令会发送4个请求数据报,每个包含32字节数据。如果一切正常,将会得到4个回应数据报的返回。Ping命令以ms为单位显示时间,同时显示TTL(Time To Live)。我们可以通过TTL值来推算数据报经过了多少个路由器,计算方法为:源地点TTL起始值-返回时TTL值。源地点TTL起始值是一个比返回TTL略大的一个2的乘方。如果返回值为119,那么TTL起始值即为2的7次方——128,从而这个数据报从源地点到目标地点经过了9个路由器网段。如果返回TTL值为246,那么TTL的起始值为256,从而这个数据报从源地点到目标地点经过了10个路由器网段。

D.Ping结果分析

E.Ping攻击
值得一提的是,由于Ping命令可以自定义发送数据报的大小以及可以无休止的告诉发送,某些别有用心的人会利用Ping命令作为DDoS的工具, 如利用数百台接入Internet的电脑/肉鸡连续发送大量Ping命令数据库而使得某些大型网站瘫痪(Ping攻击)。

F.Ping命令常用参数说明
-n [count] 决定发送回应请求的次数。默认值是4。
-l size 决定发送请求数据包的大小。默认是32字节。
-t 不间断发送请求数据包,直到按Ctrl+C终止。

Ping命令详解的更多相关文章

  1. 网工最实用最常用的网络命令之一——Ping 命令详解(一)

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

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

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

  3. ping 命令详解

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

  4. Linux ping命令详解

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

  5. Linux和Windows下ping命令详解

    转:http://linux.chinaitlab.com/command/829332.html 一.Linux下的ping参数 用途 发送一个回送信号请求给网络主机. 语法 ping [ -d] ...

  6. 【Linux】ping命令详解

    1.ping指定目的地址10.10.0.1 为接口tun0 ping 10.10.0.1 -i tun0

  7. DOS命令详解

    DOS命令详解 命令 \? 可以进入命令帮助 1.md命令创建目录. MKDIR [drive:]pathMD [drive:]path 如果命令扩展被启用,MKDIR 会如下改变: 如果需要,MKD ...

  8. IIS7.0 Appcmd 命令详解和定时重启应用池及站点的设置

    IIS7.0 Appcmd 命令详解 废话不说!虽然有配置界面管理器!但是做安装包的时候命令创建是必不可少的!最近使用NSIS制作安装包仔细研究了一下Appcmd的命令,可谓是功能齐全. 上网查了些资 ...

  9. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

随机推荐

  1. MySQL的数据库引擎的类型

    你能用的数据库引擎取决于mysql在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEAP.另外两种类型INNO ...

  2. 关于java中private构造函数的问题

    首先推荐以下下面的一篇博客: http://blog.csdn.net/my_dream_fly/article/details/3857887 本来也比较好奇,自己写构造函数总是定义public形式 ...

  3. CURD

    CURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD. 它代表创建(Create).更新(Update).读取(Read)和删除(Delete)操作. CURD 定义了用 ...

  4. hdu 1331 Function Run Fun

    Problem Description We all love recursion! Don't we? Consider a three-parameter recursive function w ...

  5. yii 使用 phpmailer发送邮件

    原文链接 :  http://www.yiiframework.com/extension/mailer/ 下载插件放在 :XXX/protected/extensions/ 作为一个普通的组建使用 ...

  6. Tomcat全攻略

    内容: 一:简单介绍 二:安装及配置 三:应用 四:综述 參考资料 关于作者 相关内容: TCP/IP 介绍 TCP/IP 介绍 !== End Related dW Content Area --& ...

  7. Oracle11g新特性之动态变量窥视

    1. 11g之前的绑定变量窥视     我们都知道,为了可以让SQL语句共享运行计划,oracle始终都是强调在进行应用系统的设计时,必须使用绑定变量,也就是用一个变量来取代原来出如今SQL语句里的字 ...

  8. Android Studio设置Eclipse风格快捷键

    Android Studio的1.1.0版本都发布了,ADT也不会再更新了,童鞋们还有理由不换嘛,不要死守着Eclipse了,Android Studio是你唯一的也是最好的选择.什么?用Eclips ...

  9. USB通讯协议 && 数据传输

    USB2.0通讯协议(spalish)   1.包(packet) 包是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的.USB包由五部分组成,同步字段(sync).包标识符(PI ...

  10. Java初转型-jdk安装和配置

    Java 开发环境配置 > * 下载JDK> * 配置环境变量> * 测试JDK是否安装成功> * 使用 Eclipse 运行第一个 Java 程序 下载JDK 首先我们需要下 ...