情景1:
查询ip是否在同一个C段(192.168.10.2-192.168.10.100)
SELECT * FROM ip_cz where ip BETWEEN '192.168.10.2' AND '192.168.10.100';
情景2:
查询ip是否在多个C段(192.168.10.0-192.168.66.0)
SELECT * FROM ip_cz where ip BETWEEN INET_ATON(192.168.10.0
) AND INET_ATON(192.168.66.0
);
ip:想要查找的ip对应的十进制数
start:网段开始地址
end:网段结束地址
INET_ATON:mysql中将ip转化为十进制数的函数
python 将ip转化为十进制数:
def ip_change(ip):
items = [int(x)for xin ip.split(".")]
return sum([items[i] << [24, 16, 8, 0][i]for iin range(4)])