假设我不知道我的 IP 范围是什么,或者我的默认网关是什么,但我知道我的 IP 地址是 192.168.5.38,我的 CIDR 范围是 /23。
我如何知道我的 IP 范围是多少?
我的范围是
192.168.4.0-192.168.5.255
或者
192.168.5.0-192.168.6.255
只有知道默认网关我们才能解决这个问题吗?
请注意,我不是在问什么工具可以提供这些信息,这是一个思考练习。我试图了解在面对这种情况时您如何知道范围。
谢谢!
回答:
感谢下面的@g_bor - 他们帮助我理解了你如何计算范围。你可以通过对 IP 地址和子网掩码的二进制输出进行 AND 运算来实现。
IP地址:192.168.5.38
二进制
11000000.10101000.00000101.00100110
子网掩码:/23(255.255.254.0)
二进制:
11000000.10101000.00000100.00000000
如果我们将它们进行“与”运算(1 AND 1 = 1、0 AND 0 = 0、1 AND 0 = 0),我们得到
11000000.10101000.00000100.00000000
IP 范围:
192.168.4.0
答案1
192.168.5.38 的二进制形式为:11000000.10101000.00000101.00100110。网络掩码为:11111111.11111111.11111110.00000000。(以 23 个 1 开头)此地址的网络部分为:11000000.10101000.00000100.00000000。这是:192.168.4.0,该范围内的第一个地址。最后一个地址为:192.168.5.255,因为我们必须将网络掩码为 0 的所有位置都设置为 1。因此范围为:192.168.4.0-192.168.5.255。
答案2
您甚至不需要默认网关,后一个范围无效,就这么简单。有效的 /23 是 192.168.0.0/23、192.168.2.0/23、192.168.4.0/23、192.168.6.0/23 等。
答案3
我如何知道我的 IP 范围是多少?
简单的数学。
所有前 23 位均相同。
我通常使用http://jodies.de/ipcalc? 做得这么快,它就会返回......
主机最小值:192.168.4.1 11000000.10101000.0000010 0.00000001 主机最大值:192.168.5.254 11000000.10101000.0000010 1.11111110
就这么简单。它是 4-5,因为 6 在 23 中有一个不同的位,而 23 必须相同。