引言:我们每天都在使用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. asp.net core VS goang web[修正篇]

    先前写过一篇文章:http://www.cnblogs.com/gengzhe/p/5557789.html,也是asp.net core和golang web的对比,热心的园友提出了几点问题,如下: ...

  2. Android 之Service

    service是运行在后台的服务,你可以启动一个服务Service来播放音乐,或者记录你地理信息位置的改变,或者启动一个服务来运行并一直监听某种动作. 接下来分析一下service 的生命周期: 1: ...

  3. 是用VLC API将RTSP流convert为视频文件

    一直在文档中找不到,接口设计的也不大好.不过终于在stackoverflow上找到解决方案了. 原来在LIbVLC库实例化的时候就需要传递相关的参数.我的代码大致是这样实现: const char * ...

  4. 1.Basic Structure

    配置: rsyslogd 配置通过rsyslog.conf file,典型的在/etc下.默认的, rsyslogd 读取/etc/rsyslog.conf 文件,这个可以通过命令行选项改变 注意 配 ...

  5. Android 侧滑(双向滑动菜单)效果

    下面看看我们如何使用它,达到我们想要的效果 public class MainActivity extends Activity { /** * 双向滑动菜单布局 */ private SliderM ...

  6. MD中bitmap源代码分析--SYNC IO和RAID5的补充

    最近在做bwraid的R6的设计工作,需要调研一下bitmap下刷磁盘的IO属性(是否为SYNC IO),还有raid5中bitmap的存储和工作方式. 1.bitmap刷磁盘是否为 SYNC IO? ...

  7. Java Hibernate 主键生成10大策略

    本文将介绍Hibernate中主键生成的几种策略方案,有需要的朋友可以参考一下. 1.自动增长identity 适用于MySQL.DB2.MS SQL Server,采用数据库生成的主键,用于为lon ...

  8. javaweb笔记1之入门

    1 web应用的目录结构 web的根目录自定义 其中可以包括静态资源(html,image,css,js) |-WEB-INF(注意格式就是这样,大小写等等一模一样) |-class:存放的是字节码文 ...

  9. ORCL_INSTALL_WIN10

    0.相关问题 INS-13001环境不满足最低要求: Win10下安装Oracle11g 不满足配置解决方法如下: 原因:Oracle 在发布 11g时,Winodws 10还没有发布.所以Oracl ...

  10. Python进阶(面向对象编程基础)(四)

    1.方法也是属性 我们在 class 中定义的实例方法其实也是属性,它实际上是一个函数对象: class Person(object): def __init__(self, name, score) ...