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