2015-05-02 45 views
1

我想從有效的IPv6地址獲取反向IPv6 arpa,但我想要使用的功能只能在Python3.5中使用,而FreeBSD端口仍然在Python3.4上python ipaddress()reverse_pointer相當於3.4

In [1]: import ipaddress 
In [3]: ipaddress.ip_address("2001:db8::1").reverse_pointer 

AttributeError: 'IPv6Address' object has no attribute 'reverse_pointer' 

什麼是Python3.4相當於獲得反向IPv6 arpa?

ipaddress 3.5 manual page

回答

1

您只要下載的Python 3.5的源代碼,複製過去,你所需要的功能,

def _reverse_pointer(self): 
    """Return the reverse DNS pointer name for the IPv6 address. 

    This implements the method described in RFC3596 2.5. 

    """ 
    reverse_chars = self.exploded[::-1].replace(':', '') 
    return '.'.join(reverse_chars) + '.ip6.arpa' 

,用下被使用,

In [1]: import ipaddress 
In [2]: ip_addr = ipaddress.ip_address("2001:db8::1") 
In [3]: _reverse_pointer(ip_addr) 
Out[3]: '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa'