小编x89*_*899的帖子

检查 IP 地址是否在给定范围内

我想检查 IP 是否180.179.77.11位于特定范围内,例如180.179.0.0 - 180.179.255.255.

我编写了一个函数,它将每个 IP 八位字节与其他八位字节进行比较。

def match(mask, IP):
    min_ip = mask.split(' - ')[0].split('.')
    max_ip = mask.split(' - ')[1].split('.')
    ip = IP.split('.')
    for i in range(4):
        print ip[i] + " < " + min_ip[i] + " or " + ip[i] + " > " + max_ip[i]
        print ip[i] < min_ip[i] or ip[i] > max_ip[i]
        if ip[i] < min_ip[i] or ip[i] > max_ip[i]:
            return False
    return True


match("180.179.0.0 - 180.179.255.255", "180.179.77.11")
Run Code Online (Sandbox Code Playgroud)

输出:

180 < 180 …
Run Code Online (Sandbox Code Playgroud)

python ip-address python-2.7 python-3.x

5
推荐指数
1
解决办法
3593
查看次数

标签 统计

ip-address ×1

python ×1

python-2.7 ×1

python-3.x ×1