栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python随笔(1)-如何判断两个ip是否同网段

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python随笔(1)-如何判断两个ip是否同网段

思路:

        1.将2个ip都转换成整数,将子网掩码也转换成整数;

        2.把两个ip的整数都和子网掩码整数进行&操作

        3.最后比较两个&值,相同则为同网段,否则为不同网段

代码:

        v4:

                ip_1_int = int(ipaddress.IPv4Address(ip_1))

                ip_2_int = int(ipaddress.IPv4Address(ip_2))

                prefix_int = 0xffffffff << (32 - prefix)

                is_same = (ip_1_int & prefix_int) == (ip_2_int & prefix_int)

        v6:

                ip_1_int = int(ipaddress.IPv6Address(ip_1))

                ip_2_int = int(ipaddress.IPv6Address(ip_2))

                prefix_int = 0xffff ffff ffff ffff ffff ffff ffff ffff << (128 - prefix)

                is_same = (ip_1_int & prefix_int) == (ip_2_int & prefix_int)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/530247.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号