Ping命令的另一种使用方法

今天实习结束休息的时候无聊,于是便想看看机房有多少机器,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。理由是什么呢,更高效?具体的原因就需要继续的研究了。

谢谢支持!

可以联系我进行交流。[email protected]

2015.5.4

16:28

时间: 2024-10-07 05:20:30

Ping命令的另一种使用方法的相关文章

Ping命令迅速处理网络故障的方法

Ping命令迅速处理网络故障的方法(1)ping localhostlocalhost是个作系统的网络保留名,它是127.0.0.1的别名,每台计算机都应该能够将该名字转换成该地址.如果没有做到这,则表示主机文件(/Windows/host)中存在问题.(2)ping 外网地址(如www.zeisp.com) 对这个域名执行Ping www.zeisp.com地址,通常是通过DNS 服务器 如果这里出现故障,则表示DNS服务器的IP地址配置不正确或DNS服务器有故障(对于拨号上网用户,某些ISP

“ping”命令的原理就是向对方主机发送UDP数据包,HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”

Socket  是一套建立在TCP/IP协议上的接口不是一个协议 应用层:  HTTP  FTP  SMTP  Web 传输层:  在两个应用程序之间提供了逻辑而不是物理的通信(TCP  UDP) TCP  可靠的  面向连接的服务 UDP  不可靠的  无连接的服务 只要底层实现TCP IP协议  都可以用socket进行通信 1.TCP和UDP 1.1 TCP连接 TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往

Apache commons exec 简介和简单ping命令方法调用实现

Apache commonsexec提供一些常用的方法用来执行外部进程.Apache commons exec库提供了监视狗Watchdog来设监视进程的执行超时,同时也还实现了同步和异步功能. Apache commonsexec涉及到多线程,比如新启动一个进程,Java中需要再开三个线程来处理进程的三个数据流,分别是标准输入,标准输出和错误输出. 需要使用该功能需要引入commons-exec-1.3.jar包,目前最新的版本为1.3版本. 在日常工作和生活中,我们经常需要用到网络,网络有时

Centos7系统禁用ping命令的简单方法

一般情况下,可以使用ping命令简单了解某台远程服务器的延迟情况,以便大概了解访问速度情况. 但有时候会发现,当ping某台服务器的IP时,可能会出现ping不通的情况,但是却可以访问,这个是怎么回事?其实是这台服务器设置经用ping命令. 如果你使用的是centos7系统,不想别人ping你的主机话,可以通过设置禁用ping命令来实现,具体方法如下. 临时禁用ping 将/proc/sys/net/ipv4/icmp_echo_ignore_all文件里面的0临时改为1,从而实现禁止ICMP报

ping命令使用方法

ping命令虽然很常用,但还是经常忘记一些选项,所以记下来 常用选项: -c #:表示ping的次数,如:ping baidu.com -c 2,表示ping百度2次 -s #:表示ping的时候,icmp数据包大小,默认为56bytes -t #:TTL数值,默认是255,每经过一个节点就会少1 -w #:等待响应主机的秒数,若超过设定值,则判断对方主机不在线,并结束ping 常用的就这几个选项

Linux和Windows下ping命令详解

转:http://linux.chinaitlab.com/command/829332.html 一.Linux下的ping参数 用途 发送一个回送信号请求给网络主机. 语法 ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ \ -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ] [ -f | -i \ Wait ] [ -l Preload ] [ -p Pattern ] [ -s PacketS

Ping 命令详解

Ping 是Windows自带的一个DOS命令.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.该命令可以加许多参数使用,键入Ping按回车即可看到详细说明.Ping 命令可以用来验证与远程计算机的连接. ping的参数 ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list] [-

【漏洞预警】CVE-2017-8464 震网三代漏洞复现(两种利用方法)

早在6月13日,微软发布补丁修复编号为CVE-2017-8464的漏洞,本地用户或远程攻击者可以利用该漏洞生成特制的快捷方式,并通过可移动设备或者远程共享的方式导致远程代码执行,追溯到以前,NSA就承认利用过相似漏洞且以“Olympic Game”为代号研发震网病毒,来阻止伊朗发展核武. 受影响版本 Windows 7 Windows 8.1 Windows RT 8.1 Windows 10 Windows Server 2008 Windows Server 2008 R2 Windows

[小菜随笔]python tkinter实现简单的ping命令

本文主要是介绍python图形界面上的按键与实际功能的对接,其实编程掌握了基础之后的学习应该都是靠自己去挖掘其他的 在网上发现多半教程都是2的,故本文使用的是python3.5,其实也没什么区别,就有一些支持库改变而已 首先我们使用python去编写一个简单的窗口程序,带一个按键,如下图 from tkinter import * #导入tk包 import os #导入os包,方便执行cmd命令,网上还有其他方法执行 test = Tk() #创建一个窗口程序 test.title('ping