python ip

作者: 咚咚董dyh | 来源:发表于2017-11-24 01:28 被阅读0次

python ip

优先使用python3(2.7部分新版本)自带的ipaddress库。

def is_ip_in_net(ip, net):
    netaddr, masknum = net.split('/')
    ipbits = socket.inet_aton(ip)
    netbits = socket.inet_aton(net)
    iplint=struct.unpack('!I', ipbits)[0]
    netlint=struct.unpack('!I', netbits)[0]
    host_bit = 32 - int(masknum)
    masklint = (0xFFFFFFFF<<host_bit) & 0xFFFFFFFF

    return (iplint & masklint) == (netlint & masklint)

def mask_addr2num(maskaddr):
    masknum = sum([bin(int(x)).count('1') for x in maskaddr.split('.')])
    return str(masknum)

相关文章

网友评论

      本文标题:python ip

      本文链接:https://www.haomeiwen.com/subject/zoxxbxtx.html