方法1:
import IPy
def in_subnet(ip, subnet):
if ip in IPy.IP(subnet):
return True
else:
return False
方法2:
def in_subnet(ip, subnet):
match = re.match("(.*)/(.*)", subnet)
if not match:
return False
subnet = match.group(1)
shift = int(match.group(2))
nip = struct.unpack("I",socket.inet_aton(ip))[0]
nsubnet = struct.unpack("I",socket.inet_aton(subnet))[0]
mask = (1<<shift) - 1
if (nip & mask) == (nsubnet & mask):
return True
else:
return False