当前位置: 首页 > 知识库问答 >
问题:

如何在Python中检查IP地址是否在两个IP的范围内?

宦子琪
2023-03-14

我有一个IP地址,我得到了另外两个IP地址,它们一起创建了一个IP范围。我想检查第一个IP地址是否在这个范围内。我怎么能在不使用循环的情况下在Python中找到它?

共有1个答案

孟福
2023-03-14

用于更改ip格式,以便我们可以比较

def convert_ipv4(ip):
    return tuple(int(n) for n in ip.split('.'))

如果ip是否在范围内,此函数将返回True或False

def check_ipv4_in(addr, start, end):
    return convert_ipv4(start) < convert_ipv4(addr) < convert_ipv4(end)



ip_range = ('1.1.0.0', '1.1.255.255')

print(check_ipv4_in('1.1.99.99', *ip_range))

在这种情况下,它将打印“true”,因为函数在这种情况下返回true

 类似资料:
  • 我想检查IP地址是否在最小和最大IP地址的范围内。我怎样才能在德尔福做到这一点? 例如,我想做这样的事情: 127.0.0.1是范围的起始值,127.0.0.255是范围的结束值,127.0.0.15是将要检查的IP地址。

  • 我有一个IP地址,另外两个IP地址一起创建了一个IP范围。我想检查第一个IP地址是否在此范围内。如何在PHP中找到它?

  • 问题内容: 我有一个IP地址,并给了我另外两个IP地址,它们一起创建了IP范围。我想检查第一个IP地址是否在此范围内。如何在PHP中找到答案? 问题答案: 有了它可以轻松地将地址转换为数字。之后,您只需要检查数字是否在范围内:

  • 问题内容: 我希望能够根据其他两个IP范围内的IP返回true / false。 例如: 结果应为true。 其他例子: 问题答案: 检查范围的最简单方法可能是将IP地址转换为32位整数,然后比较这些整数。 而不是,您可能想要查看具有InetAddresses帮助器类的Guava库,该类避免了DNS查找的可能性。

  • 问题内容: 如何从起始IP地址和结束IP地址生成一系列IP地址? 网络“ 192.168.0.0/24”的示例: 我希望有: PS:网络,起始和结束IP可以是动态的,上面仅是一个示例。 谢谢… 问题答案: 认识到IPv4地址的4个组成部分实际上都是00到FF之间的十六进制数字。 如果将起始IP地址和结束IP地址更改为32位无符号整数,则可以从最低的一个循环到最高的一个,然后将循环通过的每个值转换回

  • 问题内容: 给定一个IP地址(例如192.168.0.1),如何在Python中检查它是否在网络中(例如192.168.0.0/24)? Python中是否有用于IP地址操作的通用工具?诸如主机查找,将IP地址添加到int,将网络地址与netmask转换为int之类的东西?希望可以在标准Python库中找到2.5。 问题答案: 本文显示您可以使用和模块完成此操作,而无需付出太多额外的努力。我在文章