引言:我们每天都在使用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. jQuery CSS3 照片墙

    <html> <head> <style type="text/css"> .picture-wall-container{ position: ...

  2. iOS 摇一摇的实现-备用

    - (void)viewDidLoad { [super viewDidLoad]; [[UIApplication sharedApplication] setApplicationSupports ...

  3. qt-solutions提供了8个开源项目

    其实这是官方提供的源代码,至于为什么会另建项目,而没有整合到QT项目里去,我猜可能有2个原因: 1. 这几个项目本身不完善,并且也不是QT项目的核心,因此没有必要花精力去完善 2. 一定程度上可以维护 ...

  4. 《深度解析SDN》学习小结

    SDN(软件定义网络),顾名思义,通过软件来控制或驱动整个网络.SDN的核心概念有两个,第一是转发面与控制面的分离:第二是开放的可编程接口.另外,SDN强调集中式控制,通过软件来控制整个网络,但这并不 ...

  5. UVA 11636 - Hello World! 水

    水题,贪心,dp都随意 /* author:jxy lang:C/C++ university:China,Xidian University **If you need to reprint,ple ...

  6. 写两个线程,一个对n每次加一,一个对n每次减一

    public class A{     private static Integer n = 0; }     public class B extends A implements Runnable ...

  7. iOS--tableview分组

    -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ ; } -(NSInteger)tableView:(UITable ...

  8. 170109、JSONP是什么

    一.JSONP的诞生 首先,因为ajax无法跨域,然后开发者就有所思考 其次,开发者发现, <script>标签的src属性是可以跨域的 把跨域服务器写成 调用本地的函数 ,回调数据回来不 ...

  9. 再探java基础——对面向对象的理解(1)

    对象 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则.计划或事件.对象具有属性和行为,在程序设计中对象实现了数据和操作的结合,使数 ...

  10. myPagination5.0 分页简单实例

    记得最開始做分页採用的ThreadLocal对象,后面发现有有了更简便的方法,直接使用插件,不但简单.并且高效! 採用的版本号为myPagination5.0,可以解决client多条件无刷新动态分页 ...