掩码:批量扫描 IP 的另一种方式
2022-11-18 17:04:53441浏览
在视频中老师使用 nmap -sn 192.168.x.0-255 的方式进行批量扫描,但这句代码的扫描范围其实等同于另一句代码 nmap -sn 192.168.x.0/24 ,这种表示方法叫做“掩码”,学过计算机网络的同学对此可能已经了如指掌,如果你尚不清楚,可以跟着本文来学一下。

一、首先要从二进制说起

我们都知道,在计算机里面,所有的信息都是使用二进制来表示的, IP 地址自然也概莫能外。

1. IP 的二进制表示法

IPv4 是分为四组数字来表示,里面的每一个数字都是使用一个八位的二进制数来表示的,例如 192.168.0.1 :

2. 最常见的掩码表示法

通常情况下,我们看到的掩码都是一个斜杠后面跟着一个数字,例如 /24,比如我们在查看 Kali 的 IP 的时候,通常会看见这个 IP 后面有个“尾巴”:

看到这你可能已经开始在心里猜测这里和 24 的二进制表示有什么关系了——然而并没有,这里的 24 表示的是:一个与 IP 同样长度的二进制数中,从前到后有 24 个 1 !

比如说,/24 用二进制表示为:

3. 掩码的十进制表示

很明显,上面的掩码是一个二进制的数字表示,当然也是可以改写成十进制的,比如当我们查看 Windows 系统 IP 的时候会发现有个“子网掩码”的子项:

这个掩码和上面那个掩码限制的 IP 范围是一样的。

二、“掩码是如何表示 IP 范围的?

实际上,光是使用掩码并不能表示 IP 的范围,还需要由一个 IP 来提供其他信息。

1. 把掩码跟 IP 并排对齐

2. 掩码为 1 的位,对应 IP 的位不可变

3. 剩余可变位可以表示的 IP 就是一个范围

假如这个范围的“宽度”为 x,那么对应的范围就是“ 0 到 2 的 x 次方”,也就是说,如果 x 是 8 ,那么对应的范围就是 2 的 8 次方,为 256 个。

因此,192.168.0.1/24 表示这个 IP 的二进制表示法中,前 24 位不变,后八位自由组合,可以表示的范围恰好就是 192.168.0.0-255 .

四、在 nmap 命令中使用掩码

1. 通常使用 /24 足矣

要熟悉掩码的范围可能还需要一点时间,不过由于 /24 是各种家庭网关最常用的掩码配置,因此我们可以使用这个掩码来确定自己要扫描的范围:

nmap  -sn  192.168.x.1/24

如前所述,其效果等同于

nmap  -sn  192.168.x.0-255

2. 数字越大则范围越小

数字越大则表示被“掩盖”的位数越多,相应地,可以自由组合的位数也就越少,对应的范围就越小了。

友情链接: