3_11_extract_ipv6_prefix.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:Python-Network-Programming-Cookbook-Second-Edition 作者: PacktPublishing 项目源码 文件源码
def extract_ipv6_info():
    """ Extracts IPv6 information"""
    print ("IPv6 support built into Python: %s" %socket.has_ipv6)
    for interface in ni.interfaces():
        all_addresses = ni.ifaddresses(interface)
        print ("Interface %s:" %interface)
        for family,addrs in all_addresses.items():
            fam_name = ni.address_families[family]

            for addr in addrs:
                if fam_name == 'AF_INET6':
                    addr = addr['addr']
                    has_eth_string = addr.split("%eth")
                    if has_eth_string:
                        addr = addr.split("%eth")[0]
                    try:
                        print ("    IP Address: %s" %na.IPNetwork(addr))
                        print ("    IP Version: %s" %na.IPNetwork(addr).version)
                        print ("    IP Prefix length: %s" %na.IPNetwork(addr).prefixlen)
                        print ("    Network: %s" %na.IPNetwork(addr).network)
                        print ("    Broadcast: %s" %na.IPNetwork(addr).broadcast)
                    except Exception as e:
                        print ("Skip Non-IPv6 Interface")
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号