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 類似。不做贅述。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章