如何查找IP地址范围

问题描述 投票:0回答:2

当我使用此命令时,会扫描哪些 IP 地址

# nmap -sP 192.168.0.120/25

当我有地址和子网时,请帮助我如何获取 IP 范围。因为我试图理解这一点,但到目前为止还没有结果..提前谢谢

ip-address subnet nmap
2个回答
4
投票

命令中的网络采用 CIDR 表示法。第一部分(在

/
之前)定义哪个网络,第二部分定义设置多少位网络掩码。 IPv4 地址是 4 个字节,即 32 位信息。
/25
表示该地址的25位用于表示网络,而
32 - 25 = 7
位则用于寻址网络上的主机。
/25
网络可以容纳
2^7 = 128
主机,减去网络和广播地址。要获取网络地址(地址块的开头),您需要按位获取给定的地址,并使用
2^32 - 2^7
。在本例中(使用 Python):

>>> # Get the integer value of the address
>>> import struct
>>> ip = struct.unpack(">I", struct.pack("4B", 192, 168, 0, 120))[0]
>>> bin(ip)
'0b11000000101010000000000001111000'
>>> # Bitwise-and with the netmask
>>> net = ip & (2**32 - 2**7)
>>> bin(net)
'0b11000000101010000000000000000000'
>>> # Convert back to dotted-decimal
>>> struct.unpack("4B", struct.pack(">I", net))
(192, 168, 0, 0)

所以网络地址是

192.168.0.0
,并且您有 128 个地址,因此您的目标范围是 192.168.0.0 - 192.168.0.127。


0
投票

您使文本绘制变得复杂。这是答案 网络地址是192.168.0.0 第一个子网是 192.168.0.1 最后一个子网是 192.168.0 254

© www.soinside.com 2019 - 2024. All rights reserved.