博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
netaddr网络地址工具python
阅读量:4466 次
发布时间:2019-06-08

本文共 3354 字,大约阅读时间需要 11 分钟。

print("==========1==========")from netaddr import IPNetwork# IPNetwork('192.168.7.80/30'), IPNetwork('192.168.7.84/30'), IPNetwork('192.168.7.88/30'), IPNetwork('192.168.7.92/30')ip_str = "192.168.7.83/28"# ip_str="192.168.7.92/30"# ip_str = "192.168.1.130/32"# ip_str = "192.168.34.92/255.255.255.248"print(ip_str)ip = IPNetwork(ip_str)print(ip)# 子网掩码print(ip.netmask)# 广播地址print(ip.broadcast)# 网络地址print(ip.network)# 取反掩码print(ip.hostmask)# 同一网段ip总数print(ip.size)# 修改地址的掩码长度为28ip.prefixlen = 28print(ip)# 将同一网段的ip,再化为掩码长度为30的几个子网段new_ips_list = [x for x in ip.subnet(30)]print(new_ips_list)# # 获取某一网段的所有主机地址for ip in IPNetwork(ip_str).iter_hosts():    print(ip)print("==========2==========")# IPAddress的用法from netaddr import IPAddress# 判断地址的公网、私网属性print(IPAddress("100.64.0.1").is_private())print(IPAddress("114.114.114.114").is_private())print("==========3==========")# 定义任意一段IP地址的范围from netaddr import IPRangeip_range = IPRange("192.168.1.10", "192.168.1.130")# 对这一段ip地址进行地址聚合print(ip_range.cidrs())print("==========4==========")# 多个分散ip再聚合from netaddr import cidr_mergeip_list = []ip_list.append(IPNetwork("192.168.1.0/25"))ip_list.append(IPNetwork("192.168.1.128/25"))ip_list.append(IPNetwork("192.168.0.0/24"))ip_list.append(IPNetwork("192.168.3.0/26"))ip_list.append(IPNetwork("192.168.3.64/26"))print(cidr_merge(ip_list))print("==========5==========")# 处理MAC地址from netaddr import EUI, mac_unix, mac_cisco, mac_bare# mac = EUI("98:5a:eb:9f:35:f8")mac = EUI("98-5A-EB-9F-35-F8")print(mac)# mac显示风格1mac.dialect = mac_unixprint(mac)# mac显示风格2mac.dialect = mac_ciscoprint(mac)# mac显示风格3mac.dialect = mac_bareprint(mac)# mac地址厂家信息print(mac.info)

 输出:

print("==========1==========")from netaddr import IPNetwork# IPNetwork('192.168.7.80/30'), IPNetwork('192.168.7.84/30'), IPNetwork('192.168.7.88/30'), IPNetwork('192.168.7.92/30')ip_str = "192.168.7.83/28"# ip_str="192.168.7.92/30"# ip_str = "192.168.1.130/32"# ip_str = "192.168.34.92/255.255.255.248"print(ip_str)ip = IPNetwork(ip_str)print(ip)# 子网掩码print(ip.netmask)# 广播地址print(ip.broadcast)# 网络地址print(ip.network)# 取反掩码print(ip.hostmask)# 同一网段ip总数print(ip.size)# 修改地址的掩码长度为28ip.prefixlen = 28print(ip)# 将同一网段的ip,再化为掩码长度为30的几个子网段new_ips_list = [x for x in ip.subnet(30)]print(new_ips_list)# # 获取某一网段的所有主机地址for ip in IPNetwork(ip_str).iter_hosts():    print(ip)print("==========2==========")# IPAddress的用法from netaddr import IPAddress# 判断地址的公网、私网属性print(IPAddress("100.64.0.1").is_private())print(IPAddress("114.114.114.114").is_private())print("==========3==========")# 定义任意一段IP地址的范围from netaddr import IPRangeip_range = IPRange("192.168.1.10", "192.168.1.130")# 对这一段ip地址进行地址聚合print(ip_range.cidrs())print("==========4==========")# 多个分散ip再聚合from netaddr import cidr_mergeip_list = []ip_list.append(IPNetwork("192.168.1.0/25"))ip_list.append(IPNetwork("192.168.1.128/25"))ip_list.append(IPNetwork("192.168.0.0/24"))ip_list.append(IPNetwork("192.168.3.0/26"))ip_list.append(IPNetwork("192.168.3.64/26"))print(cidr_merge(ip_list))print("==========5==========")# 处理MAC地址from netaddr import EUI, mac_unix, mac_cisco, mac_bare# mac = EUI("98:5a:eb:9f:35:f8")mac = EUI("98-5A-EB-9F-35-F8")print(mac)# mac显示风格1mac.dialect = mac_unixprint(mac)# mac显示风格2mac.dialect = mac_ciscoprint(mac)# mac显示风格3mac.dialect = mac_bareprint(mac)# mac地址厂家信息print(mac.info)

 

转载于:https://www.cnblogs.com/andy9468/p/11311088.html

你可能感兴趣的文章
MySQL--视图、触发器、事务、存储过程、内置函数、流程控制、索引
查看>>
Django--数据库查询操作
查看>>
自定义配置文件的使用
查看>>
js-20170609-运算符
查看>>
算法笔记_065:分治法求逆序对(Java)
查看>>
MSP430FLASH小结
查看>>
STM32 ADC转换时间
查看>>
结合实际业务场景聊一聊MVP模式的应用
查看>>
WinPE启动U盘的制作方法与软件下载(通用PE工具箱/老毛桃/大白菜WinPE)(转载)...
查看>>
行为型设计模式之5--中介者模式
查看>>
Android DevArt6:Android中IPC的六种方式
查看>>
PMP学习感想
查看>>
Zookeeper全解析——Paxos作为灵魂
查看>>
集合-强大的集合工具类:java.util.Collections中未包含的集合工具
查看>>
CSS清除浮动
查看>>
数据库基础-数据库常用命令总结
查看>>
java8 按对象属性值排序
查看>>
【转帖】国产x86处理器KX-6000发布
查看>>
04-js的运算符
查看>>
第三天 while循环 及其用法
查看>>