引用:
例如,192.168.10.0/24 将扫描 192.168.10.0(二进制:11000000 10101000 00001010 00000000)和 192.168.10.255(二进制:11000000 10101000 00001010 11111111)之间的 256 个主机
来源。
我知道 256 是 2 ^ 8,但我不知道 24 和 2 ^ 8 有什么关系?有人能帮我解答一下吗?
答案1
您几乎自己给出了答案。查看二进制的 IP 地址:
11000000 10101000 00001010 00000000
11000000 10101000 00001010 11111111
注意你正在扫描的 IP 地址范围中有多少位是相同的。答案是24
。这IP-address/X
是一种指定 IP 地址范围的方法。简单地说,它意味着 IP 地址范围的第一位X
是 IP 中的位。
因此:
127.0.0.0/24 specifies the range 127.0.0.0 - 127.0.0.255
127.0.0.0/20 specifies the range 127.0.0.0 - 127.0.15.255
127.0.0.0/16 specifies the range 127.0.0.0 - 127.0.255.255
等等。
答案2
正如您所提到的,指定介于到192.168.10.0/24
之间的范围,指定从左侧开始的 32 个掩码位数。因此,在二进制中将表示为,并且它被称为掩码,因为此范围内所有 IP 的前 24 位都将相同。192.168.10.0
192.168.10.255
/24
/24
1111 1111 1111 1111 1111 1111 0000 0000
/24
这里解释了它有何用处:
取一个范围内的 IP,比如说192.168.10.12
,当你And
对此 IP 应用按位运算时,/24
如下所示
192.168.10.12 - 11000000 10101000 00001010 00001100
mask -/24 - 11111111 11111111 11111111 00000000
result of & - 11000000 10101000 00001010 00000000
192.168.10.0
您将得到主机所属网络的 IP 地址的结果192.168.10.12
。这就是掩码有用的方式。
答案3
IPv4 地址由以下部分组成32 位。
/24 表示第一个24 位定义网络。所以你还有剩下的8 位对于东道主来说。
2^8=256 个地址,因为第一个定义网络,最后一个是广播,所以您有 254 个有效地址。
decimal 192 168 10 0
binary 11000000 10101000 00001010 00000000
mask 11111111 11111111 11111111 00000000 //24 bits are static and 8 bits are dynamic