码迷,mamicode.com
首页 > 其他好文 > 详细

Ping命令的另一种使用方法

时间:2016-05-06 00:12:12      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

 

今天实习结束休息的时候无聊,于是便想看看机房有多少机器,IP是什么,有没有什么小漏洞。

依次使用了netstat、ping、Telnet以后,不小心输入了这样一个东西

技术分享

当时按下回车以后,心里想的是这样肯定是要报错,不会执行下去的。没有想到居然看到了结果。然后再看IP是【0.0.0.5】,就在疑惑为什么会是5,不应该是错误吗?

然后又尝试了几个不同的结果。结果如下:

技术分享

到了这里我们就可以发现,直接输入数字并不是一种错误的输入方式,反而可以得到正确的结果。那么我们就应该分析一下具体的运算规律。

首先我们尝试几种特殊的值:

【1】

技术分享

【255】

技术分享

【256】

技术分享

这里我们发现

1. 当输入的数值小于256时,就相当于输入的IP最后一段的数值,其他各位均为0.

2. 当输入的数值大于256时,就相当于输入的IP为输入数值除以256,如果有余数则余数为IP最后一段的数值。即:输入数据为256,得到的IP为:0.0.1.0。

随后我们依次尝试【256*256】【256*256*256】

【256*256】:65536

技术分享

【256*256*256】:16777216

技术分享

到这里我们发现一个256代表完整的一段IP地址。

那么如果想要尝试Ping :192.168.1.1

我们需要输入的数据便是1+256*1+168*256*256+192*256*256*256

即1+256+11010048+3221225472=3232235777

测试结果如下:

技术分享

这里我们得到了正确的结果。

查了一下Ping的帮助,发现并没有相应的解释,我们可以大胆的猜测一下,Windows本身就是通过这种办法来实现的Ping。理由是什么呢,更高效?具体的原因就需要继续的研究了。

谢谢支持!

可以联系我进行交流。Renhanlinbsl@163.com

2015.5.4

16:28

Ping命令的另一种使用方法

标签:

原文地址:http://www.cnblogs.com/ives/p/5463714.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!