python模块- - - ipaddress模块 -- part3:IPv6类解析

IPv4类解析介绍

IPv6Address类 (地址对象)

和ipv4类似,IPv6Address有自己类中单独的方法,也有继承_BaseAddress继承的_IPAddressBase类中的方法
在这里插入图片描述
在这里插入图片描述

1. IPv6地址校验

import ipaddress

try:
    s = ipaddress.IPv6Address("2001:db8::")
    print("the addr is IPv6")
except Exception as e:
    print("the addr is not IPv6")

如果不是IPv6地址,那么将会抛出异常,只要将异常捕获了,那么就可以通过捕获后的处理来进行是否是IPv6地址的判断

2. packed:地址的二进制表示

在这里插入图片描述

3. is_multicast:是否为多播地址

测试地址是否预留给多播使用。返回:一个布尔值,如果地址是多播地址,则为真。详见RFC 2373 2.7。
在这里插入图片描述

4. is_reserved:是否为IETF保留

测试地址是否为IETF保留。返回:一个布尔值,如果地址位于预留IPv6网络范围。
在这里插入图片描述

5. is_link_local:是否预留给本地链接

测试地址是否预留给本地链接。返回:一个布尔值,如果地址是按RFC 4291保留的,则为真。
在这里插入图片描述

6. is_site_local:是否为本地站点保留

测试地址是否为本地站点保留。注意,RFC 3879已经废弃了站点本地地址空间。使用is_private来测试这个地址是否在RFC 4193定义的唯一本地地址空间中。返回:一个布尔值,如果地址是按RFC 3513 2.5.6保留的,则为真。

在这里插入图片描述

7. is_private:私有网络

测试这个地址是否分配给专用网络。返回:一个布尔值,如果地址是根据iana-ipv6-special注册表保留的,则为True。
在这里插入图片描述

8. is_global:公有网络

测试这个地址是否分配给公共网络。返回:一个布尔值,如果地址没有被iana-ipv6-special注册表保留,则为true。

在这里插入图片描述

9. is_unspecified:是否未指定

测试地址是否未指定。返回:如果这是RFC 2373 2.5.2中定义的未指定地址,则为True。
在这里插入图片描述

10. is_loopback:是否环回

测试该地址是否是环回地址。返回:一个布尔值,如果地址是RFC 2373 2.5.3中定义的环回地址,则为真。
在这里插入图片描述

11. ipv4_mapped:IPv4映射地址

返回IPv4映射地址。返回:如果IPv6地址是v4映射地址,则返回IPv4映射地址。否则返回None。
在这里插入图片描述

12. teredo:teredo ip

嵌入式teredo ip的元组。返回:(服务器、客户端)ip的元组,如果地址不显示为teredo地址,则为None(不以2001::/32开头)

13. sixtofour:IPv4 6to4嵌入地址

返回IPv4 6to4嵌入地址。返回:如果存在IPv4 6to4嵌入式地址,则为IPv4 6to4嵌入式地址;如果没有包含6to4嵌入式地址,则为IPv4 6to4嵌入式地址。

14. exploded:补全ipv6并转为字符串(粗浅认为)

以字符串的形式返回IP地址的longhand版本。
在这里插入图片描述

15. compressed:地址简写形式

以字符串的形式返回IP地址的简写形式。
在这里插入图片描述

16. reverse_pointer:反向DNS名称

IP地址的反向DNS指针的名称
在这里插入图片描述

17. version:地址版本

在这里插入图片描述

IPv6Interface (接口对象)

在这里插入图片描述
IPv6Interface继承与IPv6Address,所以IPv6Address说的所有方法都是可以使用的。

1. 校验地址是否为IPv6接口地址

在这里插入图片描述

2. ip:地址的IPv6对象

在这里插入图片描述

3. with_prefixlen:字符串格式表示地址

在这里插入图片描述

4. with_hostmask & with_netmask

在这里插入图片描述

IPv6Network (网络对象)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1. 校验IPv6地址是否是正确的IP/mask格式

在这里插入图片描述

2. hosts:

在网络中的可用主机上生成迭代器。这类似__iter__,只是它不返回子网路由器的任何转换地址。
在这里插入图片描述

3.is_global:

是否为公网地址的校验
在这里插入图片描述

4. is_site_local:站点保留

测试地址是否为本地站点保留。注意,RFC 3879已经废弃了站点本地地址空间。使用is_private来测试这个地址是否在RFC 4193定义的唯一本地地址空间中。返回:一个布尔值,如果地址是按RFC 3513 2.5.6保留的,则为真。

5. overlaps(other)

判断ip地址是否部分包含或者全部被包含在other中
在这里插入图片描述

6.broadcast_address

该网段的广播地址(应该是的)
在这里插入图片描述

7.hostmask

主机掩码,作为IPv6Address对象
在这里插入图片描述

8.with_prefixlen

将IPv6Network对象的IP地址转为str格式
在这里插入图片描述

9.with_netmask

掩码以二进制的格式展示
在这里插入图片描述

10. with_hostmask

以主机掩码格式展示
在这里插入图片描述

11. num_addresses

网络中的地址总数。
在这里插入图片描述

后面几个判断的方法,用法和IPv6Address 类似。不做赘述。

发布了249 篇原创文章 · 获赞 170 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/gymaisyl/article/details/101349370
今日推荐