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)
# 修改地址的掩码长度为28
ip.prefixlen = 28
print(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 IPRange ip_range = IPRange("192.168.1.10", "192.168.1.130")
# 对这一段ip地址进行地址聚合
print(ip_range.cidrs()) print("==========4==========")
# 多个分散ip再聚合
from netaddr import cidr_merge ip_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显示风格1
mac.dialect = mac_unix
print(mac)
# mac显示风格2
mac.dialect = mac_cisco
print(mac)
# mac显示风格3
mac.dialect = mac_bare
print(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)
# 修改地址的掩码长度为28
ip.prefixlen = 28
print(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 IPRange ip_range = IPRange("192.168.1.10", "192.168.1.130")
# 对这一段ip地址进行地址聚合
print(ip_range.cidrs()) print("==========4==========")
# 多个分散ip再聚合
from netaddr import cidr_merge ip_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显示风格1
mac.dialect = mac_unix
print(mac)
# mac显示风格2
mac.dialect = mac_cisco
print(mac)
# mac显示风格3
mac.dialect = mac_bare
print(mac) # mac地址厂家信息
print(mac.info)

netaddr网络地址工具python的更多相关文章

  1. 惊艳发现VS工具python项目Search Paths的应用

    之前,在没有发现VS工具python项目Search Paths的应用时,举个例子:假如项目的文件目录如下: maintest/maintest.py想要使用common/tools.py文件时,不得 ...

  2. 比较几种工具Python(x,y) Anaconda WinPython

    浏览了一些相关的论坛,将几大工具的特点分别总结下: Python(x,y) 更新很慢,稳定性一般,默认带有很多包. WinPython  只能在windows上跑,界面友好,和Python(x,y)是 ...

  3. 简单bmp图片处理工具——python实现

    预备实现功能: 1.读取bmp文件 2.保存bmp文件 3.对bmp图片进行放大.缩小 4.对bmp图片进行灰度化 5.对bmp图片进行旋转 bmp文件格式非常简单,对于我这种初学者来说减少了不少不必 ...

  4. 自然语言处理工具python调用hanlp中文实体识别

    Hanlp作为一款重要的中文分词工具,在GitHub的用户量已经非常之高,应该可以看得出来大家对于hanlp这款分词工具还是很认可的.本篇继续分享一篇关于hanlp的使用实例即Python调用hanl ...

  5. You-Get 视频下载工具 Python命令行下载工具

    You-Get 是一个命令行工具, 用来下载各大视频网站的视频, 是我目前知道的命令行下载工具中最好的一个, 之前使用过 youtube-dl, 但是 youtube-dl 吧, 下载好的视频是分段的 ...

  6. 图像处理基本工具——Python 环境下的 Pillow( PIL )

    由于笔者近期的研究课题与图像后处理有关,需要通过图像处理工具对图像进行变换和处理,进而生成合适的训练图像数据.该系列文章即主要记录笔者在不同的环境下进行图像处理时常用的工具和库.在 Python 环境 ...

  7. 代码重复检查工具——python的使用CPD比较好用,clone digger针对py2,其他有名的如Simian PMD-CPD CloneDR CCCD CCFinder Bauhaus CodePro

    代码重复检测: cpd --minimum-tokens 100 --files g:\source\python\ --language python >log.txt 输出类似: ===== ...

  8. 【Python代码】TSNE高维数据降维可视化工具 + python实现

    目录 1.概述 1.1 什么是TSNE 1.2 TSNE原理 1.2.1入门的原理介绍 1.2.2进阶的原理介绍 1.2.2.1 高维距离表示 1.2.2.2 低维相似度表示 1.2.2.3 惩罚函数 ...

  9. 提效工具-python解析xmind文件及xmind用例统计

    现状 每个公司都有一个维护测试case的系统,有自研的也有买的,比如QC, 禅道等等,QA往往习惯使用xmind等思维导图工具来编写测试用例,因为思路清晰,编写方便,那么这就有一个问题,大多公司要求所 ...

随机推荐

  1. Microsoft SQL Server 2008 R2 安装遇到的问题

    SQL Server 安装过很多次了,第一次遇见这样的问题: TITLE: Microsoft SQL Server 2008 R2 安装程序----------------------------- ...

  2. Python之内置装饰器property

    # -*- coding: utf-8 -*- # author:baoshan class Student(object): def __init__(self, name): self.name ...

  3. Qt请求http地址数据

    QNetworkAccessManager *manager = new QNetworkAccessManager(this);; QNetworkRequest network_request; ...

  4. [LeetCode] 505. The Maze II 迷宫 II

    There is a ball in a maze with empty spaces and walls. The ball can go through empty spaces by rolli ...

  5. k8s-RC副本机制

    一.libeness probe的三种检测机制 HTTP GET:对容器的IP(指定的端口和路径)执行HTTP GET请求,收到响应并返回状态码不代表错误(2xx/3xx),成功 TCP socket ...

  6. 在 Mac 系统下安装 PyCharm 的方法

    首先,进入 PyCharm 的官网,PyCharm: Python IDE for Professional Developers by JetBrains. 如上图所示,直接点击DOWNLOAD N ...

  7. swoole实现多人游戏的要点

    swoole实现多人游戏的要点 比方说多人在线 要满足以下两点 1 所有玩家的数据要实时更新到服务器数据库数据 2 写个定时器返回数据

  8. Ubuntu 18.04 安装远程桌面

    原文链接:https://baijiahao.baidu.com/s?id=1619271691270163095&wfr=spider&for=pc 安装 tightvncserve ...

  9. VMware vSphere6.0 服务器虚拟化部署安装图解(最全,最详细)-搭建的所有步骤

    VMware vSphere6.0 服务器虚拟化部署安装图解 一 .VMware vSphere部署的前期规划要点 1.vSphere的优点 (略) 2如何利用现在的设备架构虚拟化环境 在虚拟化过程中 ...

  10. [案例一] Spring中的事件驱动模型(机制)

    事件驱动模型是观察者模式的另一种形态,观察者相当于监听器,被观察者相当于事件源 事件源产生事件,监听器监听事件 以用户注册时候,要发送邮件和发送短信举例说明 定义一个事件 /** * spring会自 ...