mysql 判断ip是否在某个ip网段

情景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)])

转载于:https://blog.51cto.com/12942223/2382424

你可能感兴趣的:(mysql 判断ip是否在某个ip网段)