1
给出IPv6地址的二进制或字符串表示及其前缀长度,在Python中提取前缀的最佳方法是什么?在Python中提取ipv6前缀
是否有愿意为我做这个图书馆,或者我会:
- 转换地址从字符串为int(inet_ntop)
- 屏蔽掉前缀
- 转换前缀回二进制
- 二进制转换为字符串(inet_ntop)
给出IPv6地址的二进制或字符串表示及其前缀长度,在Python中提取前缀的最佳方法是什么?在Python中提取ipv6前缀
是否有愿意为我做这个图书馆,或者我会:
见http://code.google.com/p/ipaddr-py/
有了这个,你可以做
py> p=ipaddr.IPv6("2001:888:2000:d::a2")
py> p.SetPrefix(64)
py> p
IPv6('2001:888:2000:d::a2/64')
py> p.network_ext
'2001:888:2000:d::'
等
使用Python netaddr库:
>>> from netaddr.ip import IPNetwork, IPAddress
>>> IPNetwork('2001:888:2000:d::a2/64').network
2001:888:2000:d::