要使用Python的ipaddress模塊計算網絡范圍,首先需要創建一個IPv4或IPv6地址對象,然后使用其exploded屬性將其轉換為點分十進制表示
import ipaddress
# 創建一個IPv4地址對象
ip = ipaddress.IPv4Address('192.0.2.0')
# 獲取網絡地址
network = ip.network
# 計算網絡范圍
broadcast = network.broadcast_address
print(f"網絡地址: {network}")
print(f"廣播地址: {broadcast}")
對于IPv6地址,您可以使用類似的方法:
import ipaddress
# 創建一個IPv6地址對象
ip = ipaddress.IPv6Address('2001:db8::')
# 獲取網絡地址
network = ip.exploded
# 計算網絡范圍
broadcast = network.replace(':', '') + 'FFFF'
broadcast = int(broadcast, 16)
broadcast = ipaddress.IPv6Address(broadcast)
print(f"網絡地址: {network}")
print(f"廣播地址: {broadcast}")
請注意,這些示例僅適用于IPv4和IPv6地址。如果您需要處理其他類型的IP地址,您可能需要使用其他庫或方法。