从给定的子网地址和掩码中查找IPv4范围?

use*_*495 -2 php python ip mask subnet

我有子网地址和掩码,我正在寻找该子网中可能的IP范围.请让我知道Python,PHP或Java的解决方案.

例如,我有以下详细信息:

子网地址: 10.113.12.40

面具: 255.255.255.248

那么IP范围是什么?

Mar*_*c B 10

 10.113. 12. 40 -> 00001010.01110001.00001100.00101000
255.255.255.248 -> 11111111.11111111.11111111.11111000
                                                   ^^^--- 3 bits for your network
Run Code Online (Sandbox Code Playgroud)

2**3 = 8,所以你的网络中有8个IP,给你一系列10.113.12.40- >10.113.12.47

基本上,网络掩码定义了网络的"内部"和"外部".普通位掩码1用于外部和0内部.所以更快的版本是:

10.113.12.40 NOR 255.255.255.248 = 10.113.12.47
               ^^^^^^^^^^^^^^^---invert the mask and OR it with the network address.
Run Code Online (Sandbox Code Playgroud)