python ip

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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容