Ping命令,大家都比较熟悉,它常被用来测试局域网的连通状态。“Ping+IP地址”是大家最常用的一种命令格式,但大家是否注意过Ping命令中的IP地址呢?这里面可是有很多学问和讲究的,下面笔者就为大家介绍一下隐藏在Ping命令中的这些秘密。
“.0”可以有条件省略
大家常用“ping 127.0.0.1”命令在本机上做回路测试,用来验证本机的TCP/IP协议簇是否被正确安装。但你发现了吗?使用“ping 127.1”这个命令也能得到同样的测试结果(如图),其实“ping 127.1”和“ping 127.0.0.1”这两条命令是一样的,都是在进行回路测试。
为什么会这样呢?这就是Ping命令应用中IP地址的使用技巧。大家都知道,IP地址由32位二进制数字组成,为了方便大家记忆,将每8位二进制数字换算成十进制数字,因此就形成了容易记忆的由四部分十进制数字组成的IP地址(如127.0.0.1)。由于,
Windows
操作系统具有自动填充 “.0”的功能,因此我就可将“127.0.0.1”变为“127.1”。
但是,这个“.0”的省略是有条件限制的,并不能任意省略。在Ping命令的应用中,只能将在IP地址的最后一部分十进制数字前出现的一个或多个“.0”省略,如把“ping 127.0.0.1”命令改写成“ping 127.1”。
如果这一个或多个 “.0”没有紧挨着最后一部分的十进制数字,而是在其他位置,则这个“.0”不能省略,如“ping 202.0.96.1”就不能写成“ping 202.96.1”。这是因为“ping 202.96.1”返回的结果是“202.96.0.1”的应答信息,而不是“202.0.96.1”的应答信息。
数字串代替IP地址
在Ping命令中,还可以使用数字串代替IP地址,你相信吗?运行“ping 3658906394”命令,你会看到“218.22.123.26”这个IP地址的返回信息。
为什么会这样呢?其实,“3658906394”就是IP地址“218.22.123.26”的另一种表示形式。当然,也可按同样的方法Ping其他的IP地址。
字符串是如何转换而来的呢?其实并不复杂,以“218.22.123.26”这个IP地址为例,IP地址转换成数字串方法如下:先将 “218.22.123.26”转换为十六进制“DA.16.7B.1A”,然后去掉小数点后,变为“DA167B1A”,最后将这个十六进制数转换为十进制“3658906394”,那么“218.22.123.26”就变为“3658906394”了。其他IP地址转换为数字串也是使用同样的方法。
提示:在某些局域网环境中,使用“Ping+数字串”命令可能会失败,出现提示信息“Unknown host数字串”,这是因为该数字串被解析成主机名了,而不是IP地址。
因此,掌握了上述技巧后,
网管在进行网络测试或维护时,可以熟练运用“省略”方式,减轻Ping命令的字符输入量,提高工作效率。同时,使用数字串代替IP地址也可迷惑好奇心强的普通用户,以免他们胡乱设置。
不需要任何工具,DOS命令扫描一个网段的全部端口!在Windows2000下开一个DOS窗口,然后执行
for /l %a in (1,1,254) do start /min /low telnet 192.168.0.%a 3389
这样192.168.0.x这个段的所有开放3389端口得主机都会暴露。
这条命令执行后,会在任务栏开254个小窗口。然后telnet链接失败的窗口会在大约5秒后自动退出,剩下的窗口就是相对应开放端口的主机了。 看一下小窗口的标题可以得知主机的ip地址,如果你觉得机器性能很好的话 可以把/low参数去了。
现在扫描一台主机的多个端口,如下
for /l %a in (1,1,254) do start /min /low telnet 192.168.0.%a 3389
这样192.168.0.x这个段的所有开放3389端口得主机都会暴露。
这条命令执行后,会在任务栏开254个小窗口。然后telnet链接失败的窗口会在大约5秒后自动退出,剩下的窗口就是相对应开放端口的主机了。 看一下小窗口的标题可以得知主机的ip地址,如果你觉得机器性能很好的话 可以把/low参数去了。
现在扫描一台主机的多个端口,如下
for /l %a in (1,1,65535) do start /low /min telnet 192.168.0.1%a
这样就扫描192.168.0.1的1到65535端口。
这样就扫描192.168.0.1的1到65535端口。
现在扫描一个网段的所有端口
for /l %a in (1,1,254) do for /l %b in (1,1,65535) do start /low/min telnet 192.168.0.%a %b
这样就会扫描192.168.0.x段的全部1到65535段口。
这样就会扫描192.168.0.x段的全部1到65535段口。
以上命令只能在Windows2000下使用,因为/l累加参数是Windows2000对for的扩展,当然WindowsXP和Windows.NET都可以用,WindowsME我没有试过,因为没有WindowsME的机器。