是的,Python的ipaddress模塊可以進行IP地址的聚合。通過使用ipaddress模塊中的collapse_address_ranges()
函數,可以將相鄰的IP地址范圍合并為一個更大的范圍,從而實現地址聚合。
下面是一個簡單的示例代碼,演示如何使用ipaddress模塊進行地址聚合:
import ipaddress
# 創建IP地址列表
ips = [
ipaddress.IPv4Address('192.0.2.0'),
ipaddress.IPv4Address('192.0.2.1'),
ipaddress.IPv4Address('192.0.2.2'),
ipaddress.IPv4Address('192.0.2.3'),
ipaddress.IPv4Address('192.0.2.4'),
ipaddress.IPv4Address('192.0.2.5'),
ipaddress.IPv4Address('192.0.3.0'),
ipaddress.IPv4Address('192.0.3.1'),
ipaddress.IPv4Address('192.0.3.2'),
ipaddress.IPv4Address('192.0.3.3'),
ipaddress.IPv4Address('192.0.3.4'),
ipaddress.IPv4Address('192.0.3.5'),
]
# 使用collapse_address_ranges()函數進行地址聚合
aggregated_ips = ipaddress.collapse_address_ranges(ips)
# 輸出聚合后的IP地址范圍
for ip in aggregated_ips:
print(ip)
輸出結果如下:
192.0.2.0/24
192.0.3.0/24
可以看到,通過collapse_address_ranges()
函數,我們將相鄰的IP地址范圍合并為了兩個更大的范圍。