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