【问题标题】:How to find IP address range如何查找IP地址范围
【发布时间】:2013-11-23 07:55:57
【问题描述】:

当我使用这个命令扫描哪个 IP 地址时

# nmap -sP 192.168.0.120/25

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

【问题讨论】:

  • 有没有人可以帮帮我,还是我的问题这么糊涂????
  • 没有愚蠢的问题,人们是来帮忙的:)

标签: ip-address subnet nmap


【解决方案1】:

您的命令中的网络使用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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 2019-07-13
    • 2022-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    相关资源
    最近更新 更多