Fork me on GitHub

IPy处理IP地址

IPy处理IP地址

1.下载:

pip install IPy

2.方法使用:

  • 生成117.78.0.0/21网段的所有IP
from IPy import IP
# 117.78.0.0/21
ip_obj = IP("117.78.0.0/21")
# i.net() 类型为<class 'IPy.IP'>对象
# 通过对象.strNormal   获取当前对象IP
ip_list = [i.net().strNormal() for i in ip_obj]
print(ip_list)
  • 显示IP类型
IP("192.168.1.1").version()
# 4
# 为IPV4类型
  • 查看当网段公有多少个IP
ip_obj = IP("117.78.0.0/21")
print(ip_obj.len())
# 2048
  • 显示IP地址是私有,还是公有
ip = IP("192.168.1.1")
print(ip.iptype())
# PUBLIC 表示公有
ip = IP("182.92.100.182")
print(ip.iptype())
# PRIVATE 表示私有
  • 反向解析地址
ip = IP("192.168.1.1")
print(ip.reverseName())
# 1.1.168.192.in-addr.arpa.
  • 将IP转换成整型
ip = IP("192.168.1.1")
print(ip.int())
# 3232235777
  • 将IP转换成十六进制
print(ip.strHex())
# 0xc0a80101
  • 将IP转换成二进制
print(ip.strBin())
# 11000000101010000000000100000001
  • 网路地址转化网段
ip = IP("117.78.0.2")
print(ip.make_net("255.255.255.0"))
# 117.78.0.0/24
print(IP("117.78.0.2/255.255.255.0",make_net = True))
# 117.78.0.0/24
  • 判断2个网段是否重叠
print(IP("117.78.0.0/21").overlaps("117.78.0.0/24"))
# 1
print(IP("117.78.0.0/21").overlaps("117.88.0.0/24"))
# 0

# 1表示重叠,0表示不重叠
  • 子网掩码
ip = IP("117.78.0.2")
print(ip.netmask())
# 255.255.255.255
  • 广播地址
print(ip.broadcast())
posted @   是阿凯啊  阅读(1422)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示